@insignia-education/api-sdk-js 0.9.22 → 0.9.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/.env +1 -0
  2. package/.env.test +5 -0
  3. package/.github/workflows/npm-publish-github-packages.yml +0 -0
  4. package/LICENSE +0 -0
  5. package/README.md +0 -14
  6. package/babel.config.cjs +0 -0
  7. package/coverage/clover.xml +860 -0
  8. package/coverage/coverage-final.json +33 -0
  9. package/coverage/lcov-report/Accounts.js.html +151 -0
  10. package/coverage/lcov-report/Auth.js.html +130 -0
  11. package/coverage/lcov-report/Categories.js.html +121 -0
  12. package/coverage/lcov-report/Changelogs.js.html +118 -0
  13. package/coverage/lcov-report/Client.js.html +349 -0
  14. package/coverage/lcov-report/Configs.js.html +121 -0
  15. package/coverage/lcov-report/ContactForms.js.html +121 -0
  16. package/coverage/lcov-report/ConversationalTopics.js.html +121 -0
  17. package/coverage/lcov-report/Countries.js.html +112 -0
  18. package/coverage/lcov-report/Coupons.js.html +121 -0
  19. package/coverage/lcov-report/Courses.js.html +328 -0
  20. package/coverage/lcov-report/Currencies.js.html +115 -0
  21. package/coverage/lcov-report/Files.js.html +115 -0
  22. package/coverage/lcov-report/Forums.js.html +157 -0
  23. package/coverage/lcov-report/Hashes.js.html +118 -0
  24. package/coverage/lcov-report/Insignias.js.html +121 -0
  25. package/coverage/lcov-report/Languages.js.html +121 -0
  26. package/coverage/lcov-report/MailBlacklist.js.html +118 -0
  27. package/coverage/lcov-report/Organizations.js.html +118 -0
  28. package/coverage/lcov-report/Quizzes.js.html +181 -0
  29. package/coverage/lcov-report/ShortLinks.js.html +121 -0
  30. package/coverage/lcov-report/Surveys.js.html +181 -0
  31. package/coverage/lcov-report/Tags.js.html +121 -0
  32. package/coverage/lcov-report/Taxes.js.html +121 -0
  33. package/coverage/lcov-report/Teacher.js.html +196 -0
  34. package/coverage/lcov-report/Translations.js.html +121 -0
  35. package/coverage/lcov-report/UserTypes.js.html +121 -0
  36. package/coverage/lcov-report/Users.js.html +331 -0
  37. package/coverage/lcov-report/Zoom.js.html +154 -0
  38. package/coverage/lcov-report/base.css +224 -0
  39. package/coverage/lcov-report/block-navigation.js +87 -0
  40. package/coverage/lcov-report/favicon.png +0 -0
  41. package/coverage/lcov-report/index.html +161 -0
  42. package/coverage/lcov-report/prettify.css +1 -0
  43. package/coverage/lcov-report/prettify.js +2 -0
  44. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  45. package/coverage/lcov-report/sorter.js +210 -0
  46. package/coverage/lcov-report/src/Client.js.html +349 -0
  47. package/coverage/lcov-report/src/api/index.html +116 -0
  48. package/coverage/lcov-report/src/api/index.js.html +127 -0
  49. package/coverage/lcov-report/src/api/v1/Accounts.js.html +151 -0
  50. package/coverage/lcov-report/src/api/v1/Auth.js.html +130 -0
  51. package/coverage/lcov-report/src/api/v1/Categories.js.html +121 -0
  52. package/coverage/lcov-report/src/api/v1/Changelogs.js.html +118 -0
  53. package/coverage/lcov-report/src/api/v1/Configs.js.html +121 -0
  54. package/coverage/lcov-report/src/api/v1/ContactForms.js.html +121 -0
  55. package/coverage/lcov-report/src/api/v1/ConversationalTopics.js.html +121 -0
  56. package/coverage/lcov-report/src/api/v1/Countries.js.html +112 -0
  57. package/coverage/lcov-report/src/api/v1/Coupons.js.html +121 -0
  58. package/coverage/lcov-report/src/api/v1/Courses.js.html +355 -0
  59. package/coverage/lcov-report/src/api/v1/Currencies.js.html +115 -0
  60. package/coverage/lcov-report/src/api/v1/Files.js.html +115 -0
  61. package/coverage/lcov-report/src/api/v1/Forums.js.html +157 -0
  62. package/coverage/lcov-report/src/api/v1/Hashes.js.html +118 -0
  63. package/coverage/lcov-report/src/api/v1/Insignias.js.html +121 -0
  64. package/coverage/lcov-report/src/api/v1/Languages.js.html +121 -0
  65. package/coverage/lcov-report/src/api/v1/MailBlacklist.js.html +118 -0
  66. package/coverage/lcov-report/src/api/v1/Organizations.js.html +118 -0
  67. package/coverage/lcov-report/src/api/v1/PaymentMethods.js.html +112 -0
  68. package/coverage/lcov-report/src/api/v1/Quizzes.js.html +181 -0
  69. package/coverage/lcov-report/src/api/v1/ShortLinks.js.html +121 -0
  70. package/coverage/lcov-report/src/api/v1/Surveys.js.html +181 -0
  71. package/coverage/lcov-report/src/api/v1/Tags.js.html +121 -0
  72. package/coverage/lcov-report/src/api/v1/Taxes.js.html +121 -0
  73. package/coverage/lcov-report/src/api/v1/Teacher.js.html +196 -0
  74. package/coverage/lcov-report/src/api/v1/Translations.js.html +121 -0
  75. package/coverage/lcov-report/src/api/v1/UserTypes.js.html +121 -0
  76. package/coverage/lcov-report/src/api/v1/Users.js.html +334 -0
  77. package/coverage/lcov-report/src/api/v1/Zoom.js.html +124 -0
  78. package/coverage/lcov-report/src/api/v1/index.html +521 -0
  79. package/coverage/lcov-report/src/api/v1/index.js.html +295 -0
  80. package/coverage/lcov-report/src/index.html +131 -0
  81. package/coverage/lcov-report/src/index.js.html +109 -0
  82. package/coverage/lcov-report/tests/helpers.js.html +130 -0
  83. package/coverage/lcov-report/tests/index.html +116 -0
  84. package/coverage/lcov-report/tests/integration/cookieJar.js.html +229 -0
  85. package/coverage/lcov-report/tests/integration/index.html +116 -0
  86. package/coverage/lcov.info +1606 -0
  87. package/coverage/test-report.html +980 -0
  88. package/eslint.config.mjs +10 -0
  89. package/index.js +0 -0
  90. package/jest.config.mjs +10 -0
  91. package/package.json +1 -1
  92. package/scss/Services/_notification.scss +0 -0
  93. package/scss/index.scss +0 -0
  94. package/src/Client.js +55 -2
  95. package/src/api/index.js +0 -0
  96. package/src/api/v1/Accounts.js +0 -0
  97. package/src/api/v1/Auth.js +0 -0
  98. package/src/api/v1/Categories.js +0 -0
  99. package/src/api/v1/Changelogs.js +0 -0
  100. package/src/api/v1/Configs.js +0 -0
  101. package/src/api/v1/ContactForms.js +0 -0
  102. package/src/api/v1/ConversationalTopics.js +0 -0
  103. package/src/api/v1/Countries.js +0 -0
  104. package/src/api/v1/Coupons.js +0 -0
  105. package/src/api/v1/Courses.js +10 -1
  106. package/src/api/v1/Currencies.js +0 -0
  107. package/src/api/v1/Files.js +0 -0
  108. package/src/api/v1/Forums.js +0 -0
  109. package/src/api/v1/Hashes.js +0 -0
  110. package/src/api/v1/Insignias.js +0 -0
  111. package/src/api/v1/Languages.js +0 -0
  112. package/src/api/v1/MailBlacklist.js +0 -0
  113. package/src/api/v1/Organizations.js +0 -0
  114. package/src/api/v1/PaymentMethods.js +0 -0
  115. package/src/api/v1/Quizzes.js +0 -0
  116. package/src/api/v1/ShortLinks.js +0 -0
  117. package/src/api/v1/Surveys.js +0 -0
  118. package/src/api/v1/Taxes.js +0 -0
  119. package/src/api/v1/Teacher.js +0 -0
  120. package/src/api/v1/UserTypes.js +0 -0
  121. package/src/api/v1/Users.js +0 -0
  122. package/src/api/v1/Zoom.js +0 -10
  123. package/src/api/v1/index.js +1 -4
  124. package/src/index.js +0 -0
  125. package/tests/client.test.js +64 -1
  126. package/tests/helpers.js +16 -0
  127. package/tests/integration/api/v1/accounts.test.js +37 -0
  128. package/tests/integration/api/v1/auth/login.test.js +60 -0
  129. package/tests/integration/api/v1/categories.test.js +19 -0
  130. package/tests/integration/api/v1/changelogs.test.js +21 -0
  131. package/tests/integration/api/v1/configs.test.js +20 -0
  132. package/tests/integration/api/v1/contact-forms.test.js +24 -0
  133. package/tests/integration/api/v1/conversational-topics.test.js +19 -0
  134. package/tests/integration/api/v1/countries.test.js +20 -0
  135. package/tests/integration/api/v1/coupons.test.js +26 -0
  136. package/tests/integration/api/v1/courses/by-cod.test.js +19 -0
  137. package/tests/integration/api/v1/courses/index.test.js +46 -0
  138. package/tests/integration/api/v1/currencies/index.test.js +24 -0
  139. package/tests/integration/api/v1/currencies/values.test.js +24 -0
  140. package/tests/integration/api/v1/files.test.js +25 -0
  141. package/tests/integration/api/v1/forums/index.test.js +23 -0
  142. package/tests/integration/api/v1/hashes.test.js +26 -0
  143. package/tests/integration/api/v1/insignias.test.js +19 -0
  144. package/tests/integration/api/v1/languages.test.js +28 -0
  145. package/tests/integration/api/v1/mail-blacklist.test.js +26 -0
  146. package/tests/integration/api/v1/organizations.test.js +25 -0
  147. package/tests/integration/api/v1/payment-methods/by-currencies.test.js +51 -0
  148. package/tests/integration/api/v1/quizzes/index.test.js +39 -0
  149. package/tests/integration/api/v1/short-links.test.js +27 -0
  150. package/tests/integration/api/v1/surveys/index.test.js +40 -0
  151. package/tests/integration/api/v1/taxes.test.js +20 -0
  152. package/tests/integration/api/v1/teacher/index.test.js +53 -0
  153. package/tests/integration/api/v1/user-types.test.js +19 -0
  154. package/tests/integration/api/v1/users/cash-receivers.test.js +19 -0
  155. package/tests/integration/api/v1/users/index.test.js +35 -0
  156. package/tests/integration/api/v1/zoom.test.js +24 -0
  157. package/tests/integration/loadEnv.js +0 -0
  158. package/src/api/v1/Tags.js +0 -12
  159. package/src/api/v1/Translations.js +0 -12
  160. package/tests/api/v1.test.js +0 -480
  161. package/tests/integration/api.v1.test.js +0 -125
  162. package/tests/integration/auth.test.js +0 -40
  163. package/tests/integration/cookieJar.js +0 -48
@@ -0,0 +1,46 @@
1
+ import {
2
+ api,
3
+ loginCustomer,
4
+ loginAdmin
5
+ } from '../../../../helpers.js';
6
+
7
+ describe('api/v1/courses', () => {
8
+ test('get | returns paginated list', async () => {
9
+ await api.courses.get()
10
+ .then(response => {
11
+ console.log(response);
12
+ expect(response["data"]).toBeDefined();
13
+ expect(response["current_page"]).toBeDefined();
14
+ expect(response["last_page"]).toBeDefined();
15
+ expect(response["per_page"]).toBeDefined();
16
+ expect(response["total"]).toBeDefined();
17
+ expect(Array.isArray(response["data"])).toBe(true);
18
+ expect(response["data"].length > 0).toBe(true);
19
+ response["data"].forEach(course => {
20
+ expect(course["id"]).toBeDefined();
21
+ expect(course["cod"]).toBeDefined();
22
+ expect(course["title"]).toBeDefined();
23
+ expect(course["enabled"]).toBeDefined();
24
+ });
25
+ });
26
+ });
27
+
28
+ test('get | page 2', async () => {
29
+ await api.courses.get(null, { page: 2 })
30
+ .then(response => {
31
+ expect(response["data"]).toBeDefined();
32
+ expect(response["current_page"]).toBe(2);
33
+ });
34
+ });
35
+
36
+ test('get by id | returns single course', async () => {
37
+ const firstPage = await api.courses.get();
38
+ const id = firstPage["data"][0]["id"];
39
+ await api.courses.get(id)
40
+ .then(response => {
41
+ expect(response["id"]).toBe(id);
42
+ expect(response["cod"]).toBeDefined();
43
+ expect(response["title"]).toBeDefined();
44
+ });
45
+ });
46
+ });
@@ -0,0 +1,24 @@
1
+ import {
2
+ api,
3
+ loginCustomer,
4
+ loginAdmin
5
+ } from '../../../../helpers.js';
6
+
7
+ describe('api/v1/currencies', () => {
8
+ test('get', async () => {
9
+ api.currencies.get()
10
+ .then(response => {
11
+ expect(response["1"]).toBeDefined();
12
+ expect(response["1"]["id"]).toBeDefined();
13
+ expect(response["1"]["country_id"]).toBeDefined();
14
+ expect(response["1"]["cod"]).toBeDefined();
15
+ expect(response["1"]["title"]).toBeDefined();
16
+ expect(response["1"]["enabled"]).toBeDefined();
17
+ expect(response["1"]["has_double_expression"]).toBeDefined();
18
+ expect(response["1"]["double_expression_by"]).toBeDefined();
19
+ expect(response["1"]["created_at"]).toBeDefined();
20
+ expect(response["1"]["updated_at"]).toBeDefined();
21
+ expect(response["1"]["deleted_at"]).toBeDefined();
22
+ });
23
+ });
24
+ });
@@ -0,0 +1,24 @@
1
+ import {
2
+ api,
3
+ loginCustomer,
4
+ loginAdmin
5
+ } from '../../../../helpers.js';
6
+
7
+ describe('api/v1/currencies/values', () => {
8
+
9
+ test('get', async () => {
10
+ await api.currencies.getValues()
11
+ .then(response => {
12
+ response = Object.values(response);
13
+ expect(response.length > 0).toBe(true);
14
+ response.forEach(value => {
15
+ expect(value["id"]).toBeDefined();
16
+ expect(value["currency_id"]).toBeDefined();
17
+ expect(value["value"]).toBeDefined();
18
+ expect(value["created_at"]).toBeDefined();
19
+ expect(value["updated_at"]).toBeDefined();
20
+ })
21
+
22
+ });
23
+ });
24
+ });
@@ -0,0 +1,25 @@
1
+ import InsigniaApiV1 from '../../../../src/api/v1/index.js';
2
+
3
+ const api = new InsigniaApiV1(process.env.INSIGNIA_EDUCATION_API_BASE_URL);
4
+
5
+ const login = () => api.auth.login({
6
+ email: process.env.TEST_EMAIL,
7
+ password: process.env.TEST_PASSWORD,
8
+ });
9
+
10
+ describe('api/v1/files', () => {
11
+ test('get | authenticated', async () => {
12
+ await login();
13
+ await api.files.get()
14
+ .then(response => {
15
+ response = Object.values(response);
16
+ expect(Array.isArray(response)).toBe(true);
17
+ response.forEach(file => {
18
+ expect(file["id"]).toBeDefined();
19
+ expect(file["path"]).toBeDefined();
20
+ expect(file["created_at"]).toBeDefined();
21
+ expect(file["updated_at"]).toBeDefined();
22
+ });
23
+ });
24
+ });
25
+ });
@@ -0,0 +1,23 @@
1
+ import {
2
+ api,
3
+ loginCustomer,
4
+ loginAdmin
5
+ } from '../../../../helpers.js';
6
+
7
+ describe('api/v1/forums', () => {
8
+ test('get | authenticated', async () => {
9
+ await loginCustomer();
10
+ await api.forums.get()
11
+ .then(response => {
12
+ response = Object.values(response);
13
+ expect(Array.isArray(response)).toBe(true);
14
+ response.forEach(forum => {
15
+ expect(forum["id"]).toBeDefined();
16
+ expect(forum["title"]).toBeDefined();
17
+ expect(forum["enabled"]).toBeDefined();
18
+ expect(forum["created_at"]).toBeDefined();
19
+ expect(forum["updated_at"]).toBeDefined();
20
+ });
21
+ });
22
+ });
23
+ });
@@ -0,0 +1,26 @@
1
+ import InsigniaApiV1 from '../../../../src/api/v1/index.js';
2
+
3
+ const api = new InsigniaApiV1(process.env.INSIGNIA_EDUCATION_API_BASE_URL);
4
+
5
+ const login = () => api.auth.login({
6
+ email: process.env.TEST_EMAIL,
7
+ password: process.env.TEST_PASSWORD,
8
+ });
9
+
10
+ describe('api/v1/hashes', () => {
11
+ test('get | authenticated', async () => {
12
+ await login();
13
+ await api.hashes.get()
14
+ .then(response => {
15
+ response = Object.values(response);
16
+ expect(Array.isArray(response)).toBe(true);
17
+ response.forEach(hash => {
18
+ expect(hash["id"]).toBeDefined();
19
+ expect(hash["hash"]).toBeDefined();
20
+ expect(hash["purpose_id"]).toBeDefined();
21
+ expect(hash["created_at"]).toBeDefined();
22
+ expect(hash["updated_at"]).toBeDefined();
23
+ });
24
+ });
25
+ });
26
+ });
@@ -0,0 +1,19 @@
1
+ import InsigniaApiV1 from '../../../../src/api/v1/index.js';
2
+
3
+ const api = new InsigniaApiV1(process.env.INSIGNIA_EDUCATION_API_BASE_URL);
4
+
5
+ describe('api/v1/insignias', () => {
6
+ test('get', async () => {
7
+ await api.insignias.get()
8
+ .then(response => {
9
+ response = Object.values(response);
10
+ expect(response.length > 0).toBe(true);
11
+ response.forEach(insignia => {
12
+ expect(insignia["id"]).toBeDefined();
13
+ expect(insignia["cod"]).toBeDefined();
14
+ expect(insignia["title"]).toBeDefined();
15
+ expect(insignia["enabled"]).toBeDefined();
16
+ });
17
+ });
18
+ });
19
+ });
@@ -0,0 +1,28 @@
1
+
2
+ import InsigniaApiV1 from '../../../../src/api/v1/index.js';
3
+
4
+ const api = new InsigniaApiV1(process.env.INSIGNIA_EDUCATION_API_BASE_URL);
5
+
6
+
7
+ describe('api/v1/languages', () => {
8
+ test('get', async () => {
9
+ await api.languages.get()
10
+ .then(response => {
11
+ response = Object.values(response);
12
+ expect(response.length > 0).toBe(true);
13
+ response.forEach(language => {
14
+ expect(language["id"]).toBeDefined();
15
+ expect(language["iso"]).toBeDefined();
16
+ expect(language["flag_emoji"]).toBeDefined();
17
+ expect(language["enabled"]).toBeDefined();
18
+ expect(language["default"]).toBeDefined();
19
+ expect(language["created_at"]).toBeDefined();
20
+ expect(language["updated_at"]).toBeDefined();
21
+ expect(language["deleted_at"]).toBeDefined();
22
+ })
23
+
24
+ });
25
+ });
26
+ });
27
+
28
+
@@ -0,0 +1,26 @@
1
+ import InsigniaApiV1 from '../../../../src/api/v1/index.js';
2
+
3
+ const api = new InsigniaApiV1(process.env.INSIGNIA_EDUCATION_API_BASE_URL);
4
+
5
+ const login = () => api.auth.login({
6
+ email: process.env.TEST_EMAIL,
7
+ password: process.env.TEST_PASSWORD,
8
+ });
9
+
10
+ describe('api/v1/mail-blacklist', () => {
11
+ test('get | authenticated', async () => {
12
+ await login();
13
+ await api.mailBlacklist.get()
14
+ .then(response => {
15
+ response = Object.values(response);
16
+ expect(Array.isArray(response)).toBe(true);
17
+ response.forEach(entry => {
18
+ expect(entry["id"]).toBeDefined();
19
+ expect(entry["email"]).toBeDefined();
20
+ expect(entry["type_id"]).toBeDefined();
21
+ expect(entry["created_at"]).toBeDefined();
22
+ expect(entry["updated_at"]).toBeDefined();
23
+ });
24
+ });
25
+ });
26
+ });
@@ -0,0 +1,25 @@
1
+ import InsigniaApiV1 from '../../../../src/api/v1/index.js';
2
+
3
+ const api = new InsigniaApiV1(process.env.INSIGNIA_EDUCATION_API_BASE_URL);
4
+
5
+ const login = () => api.auth.login({
6
+ email: process.env.TEST_EMAIL,
7
+ password: process.env.TEST_PASSWORD,
8
+ });
9
+
10
+ describe('api/v1/organizations', () => {
11
+ test('get | authenticated', async () => {
12
+ await login();
13
+ await api.organizations.get()
14
+ .then(response => {
15
+ response = Object.values(response);
16
+ expect(Array.isArray(response)).toBe(true);
17
+ response.forEach(org => {
18
+ expect(org["id"]).toBeDefined();
19
+ expect(org["name"]).toBeDefined();
20
+ expect(org["created_at"]).toBeDefined();
21
+ expect(org["updated_at"]).toBeDefined();
22
+ });
23
+ });
24
+ });
25
+ });
@@ -0,0 +1,51 @@
1
+ import {
2
+ api,
3
+ loginCustomer,
4
+ loginAdmin
5
+ } from '../../../../helpers.js';
6
+ describe('api/v1/payment-methods/by-currency/1', () => {
7
+ test('get', async () => {
8
+ await api.currencies.get()
9
+ .then(response => {
10
+ Object.values(response).forEach(async currency => {
11
+ await api.paymentMethods.byCurrency(currency.id)
12
+ .then(response => {
13
+ response = Object.values(response);
14
+ if(response.length == 0){
15
+ return;
16
+ }
17
+ expect(response[0]["id"]).toBeDefined();
18
+ expect(response[0]["currency_id"]).toBeDefined();
19
+ expect(response[0]["order"]).toBeDefined();
20
+ expect(response[0]["cod"]).toBeDefined();
21
+ expect(response[0]["title"]).toBeDefined();
22
+ expect(response[0]["requires_reference"]).toBeDefined();
23
+ expect(response[0]["can_upload_support"]).toBeDefined();
24
+ expect(response[0]["enabled"]).toBeDefined();
25
+ expect(response[0]["commission_amount"]).toBeDefined();
26
+ expect(response[0]["commission_percentage"]).toBeDefined();
27
+ expect(response[0]["description"]).toBeDefined();
28
+ expect(response[0]["image"]).toBeDefined();
29
+ expect(response[0]["icon"]).toBeDefined();
30
+ expect(response[0]["created_at"]).toBeDefined();
31
+ expect(response[0]["updated_at"]).toBeDefined();
32
+ expect(response[0]["deleted_at"]).toBeDefined();
33
+ })
34
+ })
35
+ })
36
+ });
37
+ });
38
+
39
+ describe('users/cash-receivers', () => {
40
+ test('get By currency id() returns a list', async () => {
41
+ await api.users.cashReceivers()
42
+ .then(response => {
43
+ expect(response.length > 0).toBe(true);
44
+ response.forEach(user => {
45
+ expect(user["id"]).toBeDefined();
46
+ expect(user["name"]).toBeDefined();
47
+ })
48
+ })
49
+ });
50
+ });
51
+
@@ -0,0 +1,39 @@
1
+ import {
2
+ api,
3
+ loginCustomer,
4
+ loginAdmin
5
+ } from '../../../../helpers.js';
6
+ describe('api/v1/quizzes', () => {
7
+ test('get | authenticated', async () => {
8
+ await loginAdmin();
9
+ await api.quizzes.get()
10
+ .then(response => {
11
+ response = Object.values(response);
12
+ expect(Array.isArray(response)).toBe(true);
13
+ response.forEach(quiz => {
14
+ expect(quiz["id"]).toBeDefined();
15
+ expect(quiz["cod"]).toBeDefined();
16
+ expect(quiz["enabled"]).toBeDefined();
17
+ expect(quiz["created_at"]).toBeDefined();
18
+ expect(quiz["updated_at"]).toBeDefined();
19
+ });
20
+ });
21
+ });
22
+
23
+ test('get questions | authenticated', async () => {
24
+ await loginAdmin();
25
+ const quizzes = await api.quizzes.get().then(r => Object.values(r));
26
+ if (quizzes.length === 0) return;
27
+ const quizId = quizzes[0]["id"];
28
+ await api.quizzes.questions(quizId).get()
29
+ .then(response => {
30
+ response = Object.values(response);
31
+ expect(Array.isArray(response)).toBe(true);
32
+ response.forEach(question => {
33
+ expect(question["id"]).toBeDefined();
34
+ expect(question["quiz_id"]).toBeDefined();
35
+ expect(question["question"]).toBeDefined();
36
+ });
37
+ });
38
+ });
39
+ });
@@ -0,0 +1,27 @@
1
+ import InsigniaApiV1 from '../../../../src/api/v1/index.js';
2
+
3
+ const api = new InsigniaApiV1(process.env.INSIGNIA_EDUCATION_API_BASE_URL);
4
+
5
+ const login = () => api.auth.login({
6
+ email: process.env.TEST_EMAIL,
7
+ password: process.env.TEST_PASSWORD,
8
+ });
9
+
10
+ describe('api/v1/short-links', () => {
11
+ test('get | authenticated', async () => {
12
+ await login();
13
+ await api.shortLinks.get()
14
+ .then(response => {
15
+ response = Object.values(response);
16
+ expect(Array.isArray(response)).toBe(true);
17
+ response.forEach(link => {
18
+ expect(link["id"]).toBeDefined();
19
+ expect(link["cod"]).toBeDefined();
20
+ expect(link["url"]).toBeDefined();
21
+ expect(link["enabled"]).toBeDefined();
22
+ expect(link["created_at"]).toBeDefined();
23
+ expect(link["updated_at"]).toBeDefined();
24
+ });
25
+ });
26
+ });
27
+ });
@@ -0,0 +1,40 @@
1
+ import {
2
+ api,
3
+ loginCustomer,
4
+ loginAdmin
5
+ } from '../../../../helpers.js';
6
+
7
+ describe('api/v1/surveys', () => {
8
+ test('get | authenticated', async () => {
9
+ await loginCustomer();
10
+ await api.surveys.get()
11
+ .then(response => {
12
+ response = Object.values(response);
13
+ expect(Array.isArray(response)).toBe(true);
14
+ response.forEach(survey => {
15
+ expect(survey["id"]).toBeDefined();
16
+ expect(survey["cod"]).toBeDefined();
17
+ expect(survey["enabled"]).toBeDefined();
18
+ expect(survey["created_at"]).toBeDefined();
19
+ expect(survey["updated_at"]).toBeDefined();
20
+ });
21
+ });
22
+ });
23
+
24
+ test('get questions | authenticated', async () => {
25
+ await loginCustomer();
26
+ const surveys = await api.surveys.get().then(r => Object.values(r));
27
+ if (surveys.length === 0) return;
28
+ const surveyId = surveys[0]["id"];
29
+ await api.surveys.questions(surveyId).get()
30
+ .then(response => {
31
+ response = Object.values(response);
32
+ expect(Array.isArray(response)).toBe(true);
33
+ response.forEach(question => {
34
+ expect(question["id"]).toBeDefined();
35
+ expect(question["survey_id"]).toBeDefined();
36
+ expect(question["question"]).toBeDefined();
37
+ });
38
+ });
39
+ });
40
+ });
@@ -0,0 +1,20 @@
1
+ import InsigniaApiV1 from '../../../../src/api/v1/index.js';
2
+
3
+ const api = new InsigniaApiV1(process.env.INSIGNIA_EDUCATION_API_BASE_URL);
4
+
5
+ describe('api/v1/taxes', () => {
6
+ test('get', async () => {
7
+ await api.taxes.get()
8
+ .then(response => {
9
+ response = Object.values(response);
10
+ expect(response.length > 0).toBe(true);
11
+ response.forEach(tax => {
12
+ expect(tax["id"]).toBeDefined();
13
+ expect(tax["cod"]).toBeDefined();
14
+ expect(tax["title"]).toBeDefined();
15
+ expect(tax["percentage"]).toBeDefined();
16
+ expect(tax["enabled"]).toBeDefined();
17
+ });
18
+ });
19
+ });
20
+ });
@@ -0,0 +1,53 @@
1
+ import {
2
+ api,
3
+ loginCustomer,
4
+ loginAdmin
5
+ } from '../../../../helpers.js';
6
+
7
+ describe('api/v1/teacher/absences', () => {
8
+ test('get | authenticated', async () => {
9
+ await loginAdmin();
10
+ await api.teacher.absences().get()
11
+ .then(response => {
12
+ response = Object.values(response);
13
+ expect(Array.isArray(response)).toBe(true);
14
+ response.forEach(absence => {
15
+ expect(absence["id"]).toBeDefined();
16
+ expect(absence["created_at"]).toBeDefined();
17
+ expect(absence["updated_at"]).toBeDefined();
18
+ });
19
+ });
20
+ });
21
+ });
22
+
23
+ describe('api/v1/teacher/config-sets', () => {
24
+ test('get | authenticated', async () => {
25
+ await loginAdmin();
26
+ await api.teacher.configSets().get()
27
+ .then(response => {
28
+ response = Object.values(response);
29
+ expect(Array.isArray(response)).toBe(true);
30
+ response.forEach(configSet => {
31
+ expect(configSet["id"]).toBeDefined();
32
+ expect(configSet["created_at"]).toBeDefined();
33
+ expect(configSet["updated_at"]).toBeDefined();
34
+ });
35
+ });
36
+ });
37
+ });
38
+
39
+ describe('api/v1/teacher/configs', () => {
40
+ test('get | authenticated', async () => {
41
+ await login();
42
+ await api.teacher.configs().get()
43
+ .then(response => {
44
+ response = Object.values(response);
45
+ expect(Array.isArray(response)).toBe(true);
46
+ response.forEach(config => {
47
+ expect(config["id"]).toBeDefined();
48
+ expect(config["created_at"]).toBeDefined();
49
+ expect(config["updated_at"]).toBeDefined();
50
+ });
51
+ });
52
+ });
53
+ });
@@ -0,0 +1,19 @@
1
+ import InsigniaApiV1 from '../../../../src/api/v1/index.js';
2
+
3
+ const api = new InsigniaApiV1(process.env.INSIGNIA_EDUCATION_API_BASE_URL);
4
+
5
+ describe('api/v1/user-types', () => {
6
+ test('get', async () => {
7
+ await api.userTypes.get()
8
+ .then(response => {
9
+ response = Object.values(response);
10
+ expect(response.length > 0).toBe(true);
11
+ response.forEach(userType => {
12
+ expect(userType["id"]).toBeDefined();
13
+ expect(userType["cod"]).toBeDefined();
14
+ expect(userType["title"]).toBeDefined();
15
+ expect(userType["enabled"]).toBeDefined();
16
+ });
17
+ });
18
+ });
19
+ });
@@ -0,0 +1,19 @@
1
+ import {
2
+ api,
3
+ loginCustomer,
4
+ loginAdmin
5
+ } from '../../../../helpers.js';
6
+
7
+ describe('api/v1/users/cash-receivers', () => {
8
+ test('get', async () => {
9
+ await api.users.cashReceivers()
10
+ .then(response => {
11
+ expect(response.length > 0).toBe(true);
12
+ response.forEach(user => {
13
+ expect(user["id"]).toBeDefined();
14
+ expect(user["name"]).toBeDefined();
15
+ })
16
+ })
17
+ });
18
+ });
19
+
@@ -0,0 +1,35 @@
1
+ import {
2
+ api,
3
+ loginCustomer,
4
+ loginAdmin
5
+ } from '../../../../helpers.js';
6
+
7
+ describe('api/v1/users', () => {
8
+ test('get | authenticated', async () => {
9
+ await loginAdmin();
10
+ await api.users.get()
11
+ .then(response => {
12
+ response = Object.values(response);
13
+ expect(response.length > 0).toBe(true);
14
+ response.forEach(user => {
15
+ expect(user["id"]).toBeDefined();
16
+ expect(user["name"]).toBeDefined();
17
+ expect(user["email"]).toBeDefined();
18
+ expect(user["created_at"]).toBeDefined();
19
+ expect(user["updated_at"]).toBeDefined();
20
+ });
21
+ });
22
+ });
23
+
24
+ test('get by id | authenticated', async () => {
25
+ await loginAdmin();
26
+ const users = await api.users.get().then(r => Object.values(r));
27
+ const id = users[0]["id"];
28
+ await api.users.get(id)
29
+ .then(response => {
30
+ expect(response["id"]).toBe(id);
31
+ expect(response["name"]).toBeDefined();
32
+ expect(response["email"]).toBeDefined();
33
+ });
34
+ });
35
+ });
@@ -0,0 +1,24 @@
1
+ import InsigniaApiV1 from '../../../../src/api/v1/index.js';
2
+
3
+ const api = new InsigniaApiV1(process.env.INSIGNIA_EDUCATION_API_BASE_URL);
4
+
5
+ const login = () => api.auth.login({
6
+ email: process.env.TEST_EMAIL,
7
+ password: process.env.TEST_PASSWORD,
8
+ });
9
+
10
+ describe('api/v1/zoom/meetings', () => {
11
+ test('get | authenticated', async () => {
12
+ await login();
13
+ await api.zoom.meetings().get()
14
+ .then(response => {
15
+ response = Object.values(response);
16
+ expect(Array.isArray(response)).toBe(true);
17
+ response.forEach(meeting => {
18
+ expect(meeting["id"]).toBeDefined();
19
+ expect(meeting["created_at"]).toBeDefined();
20
+ expect(meeting["updated_at"]).toBeDefined();
21
+ });
22
+ });
23
+ });
24
+ });
File without changes
@@ -1,12 +0,0 @@
1
- export default class Tags {
2
- #client;
3
-
4
- constructor(client) {
5
- this.#client = client;
6
- }
7
-
8
- get(id = null) { return id ? this.#client.get(`/tags/${id}`) : this.#client.get('/tags'); }
9
- create(data) { return this.#client.put('/tags', data); }
10
- edit(id, data) { return this.#client.patch(`/tags/${id}`, data); }
11
- delete(id) { return this.#client.del(`/tags/${id}`); }
12
- }
@@ -1,12 +0,0 @@
1
- export default class Translations {
2
- #client;
3
-
4
- constructor(client) {
5
- this.#client = client;
6
- }
7
-
8
- get(id = null) { return id ? this.#client.get(`/translations/${id}`) : this.#client.get('/translations'); }
9
- create(data) { return this.#client.put('/translations', data); }
10
- delete(id) { return this.#client.del(`/translations/${id}`); }
11
- editText(id, data) { return this.#client.patch(`/translations/${id}/text`, data); }
12
- }