@insignia-education/api-sdk-js 0.15.67 → 0.15.68

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 (69) hide show
  1. package/.env +1 -0
  2. package/.env.test +5 -0
  3. package/coverage/clover.xml +1568 -0
  4. package/coverage/coverage-final.json +46 -0
  5. package/coverage/lcov-report/Client.js.html +463 -0
  6. package/coverage/lcov-report/base.css +224 -0
  7. package/coverage/lcov-report/block-navigation.js +87 -0
  8. package/coverage/lcov-report/favicon.png +0 -0
  9. package/coverage/lcov-report/index.html +161 -0
  10. package/coverage/lcov-report/prettify.css +1 -0
  11. package/coverage/lcov-report/prettify.js +2 -0
  12. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  13. package/coverage/lcov-report/sorter.js +210 -0
  14. package/coverage/lcov-report/src/Client.js.html +463 -0
  15. package/coverage/lcov-report/src/api/index.html +116 -0
  16. package/coverage/lcov-report/src/api/index.js.html +127 -0
  17. package/coverage/lcov-report/src/api/v1/Accounts.js.html +151 -0
  18. package/coverage/lcov-report/src/api/v1/Admin.js.html +121 -0
  19. package/coverage/lcov-report/src/api/v1/Auth.js.html +157 -0
  20. package/coverage/lcov-report/src/api/v1/Categories.js.html +121 -0
  21. package/coverage/lcov-report/src/api/v1/Changelogs.js.html +118 -0
  22. package/coverage/lcov-report/src/api/v1/Configs.js.html +121 -0
  23. package/coverage/lcov-report/src/api/v1/ContactForms.js.html +121 -0
  24. package/coverage/lcov-report/src/api/v1/ConversationalTopics.js.html +121 -0
  25. package/coverage/lcov-report/src/api/v1/Countries.js.html +112 -0
  26. package/coverage/lcov-report/src/api/v1/Coupons.js.html +175 -0
  27. package/coverage/lcov-report/src/api/v1/Courses.js.html +442 -0
  28. package/coverage/lcov-report/src/api/v1/Currencies.js.html +118 -0
  29. package/coverage/lcov-report/src/api/v1/Dashboard.js.html +115 -0
  30. package/coverage/lcov-report/src/api/v1/EducationCenter.js.html +115 -0
  31. package/coverage/lcov-report/src/api/v1/Employee.js.html +169 -0
  32. package/coverage/lcov-report/src/api/v1/Files.js.html +160 -0
  33. package/coverage/lcov-report/src/api/v1/Forums.js.html +175 -0
  34. package/coverage/lcov-report/src/api/v1/Hashes.js.html +121 -0
  35. package/coverage/lcov-report/src/api/v1/Insignias.js.html +121 -0
  36. package/coverage/lcov-report/src/api/v1/Languages.js.html +121 -0
  37. package/coverage/lcov-report/src/api/v1/MailBlacklist.js.html +118 -0
  38. package/coverage/lcov-report/src/api/v1/MailingLists.js.html +127 -0
  39. package/coverage/lcov-report/src/api/v1/Offers.js.html +142 -0
  40. package/coverage/lcov-report/src/api/v1/Organizations.js.html +199 -0
  41. package/coverage/lcov-report/src/api/v1/PaymentMethods.js.html +121 -0
  42. package/coverage/lcov-report/src/api/v1/Payments.js.html +310 -0
  43. package/coverage/lcov-report/src/api/v1/Premiums.js.html +121 -0
  44. package/coverage/lcov-report/src/api/v1/Quizzes.js.html +214 -0
  45. package/coverage/lcov-report/src/api/v1/Sales.js.html +148 -0
  46. package/coverage/lcov-report/src/api/v1/Search.js.html +115 -0
  47. package/coverage/lcov-report/src/api/v1/ShortLinks.js.html +127 -0
  48. package/coverage/lcov-report/src/api/v1/Surveys.js.html +181 -0
  49. package/coverage/lcov-report/src/api/v1/Taxes.js.html +121 -0
  50. package/coverage/lcov-report/src/api/v1/Teacher.js.html +322 -0
  51. package/coverage/lcov-report/src/api/v1/Telegram.js.html +142 -0
  52. package/coverage/lcov-report/src/api/v1/TwoFactor.js.html +145 -0
  53. package/coverage/lcov-report/src/api/v1/UserSessionTypes.js.html +112 -0
  54. package/coverage/lcov-report/src/api/v1/UserTypes.js.html +121 -0
  55. package/coverage/lcov-report/src/api/v1/Users.js.html +766 -0
  56. package/coverage/lcov-report/src/api/v1/Utm.js.html +151 -0
  57. package/coverage/lcov-report/src/api/v1/Webauthn.js.html +190 -0
  58. package/coverage/lcov-report/src/api/v1/Zoom.js.html +124 -0
  59. package/coverage/lcov-report/src/api/v1/index.html +716 -0
  60. package/coverage/lcov-report/src/api/v1/index.js.html +373 -0
  61. package/coverage/lcov-report/src/index.html +131 -0
  62. package/coverage/lcov-report/src/index.js.html +109 -0
  63. package/coverage/lcov-report/tests/helpers.js.html +145 -0
  64. package/coverage/lcov-report/tests/index.html +116 -0
  65. package/coverage/lcov.info +2541 -0
  66. package/coverage/test-report.html +427 -0
  67. package/package.json +1 -1
  68. package/src/api/v1/Courses.js +6 -0
  69. package/src/api/v1/Sales.js +3 -0
@@ -0,0 +1,427 @@
1
+ <html><head><meta charset="utf-8"/><title>API SDK Test Report</title><style type="text/css">:root {
2
+ --text-primary: #111;
3
+ --text-secondary: #4f4f4f;
4
+ --success: #006633;
5
+ --success-bright: #80ffbf;
6
+ --danger: #cc071e;
7
+ --danger-bright: #fbdfe0;
8
+ --warning: #995c00;
9
+ --warning-bright: #ffeea8;
10
+ --panel: #eee;
11
+ --border: #949494;
12
+ --disabled: #6b6b6b;
13
+ }
14
+
15
+ html,
16
+ body {
17
+ font-family: Arial, Helvetica, sans-serif;
18
+ font-size: 16px;
19
+ margin: 0;
20
+ padding: 0;
21
+ color: var(--text-primary);
22
+ }
23
+ body {
24
+ padding: 2rem 1rem;
25
+ }
26
+ .jesthtml-content {
27
+ margin: 0 auto;
28
+ max-width: 70rem;
29
+ }
30
+ header {
31
+ display: flex;
32
+ align-items: center;
33
+ }
34
+ #title {
35
+ margin: 0;
36
+ flex-grow: 1;
37
+ }
38
+ #logo {
39
+ height: 4rem;
40
+ }
41
+ #timestamp {
42
+ color: var(--text-secondary);
43
+ margin-top: 0.5rem;
44
+ }
45
+
46
+ #metadata-container {
47
+ display: flex;
48
+ flex-direction: column;
49
+ gap: 2rem;
50
+ margin-bottom: 2rem;
51
+ }
52
+
53
+ .additional-information-container {
54
+ display: flex;
55
+ flex-direction: column;
56
+ gap: 0.5rem;
57
+ color: var(--text-secondary);
58
+ }
59
+
60
+ /** SUMMARY */
61
+ #summary {
62
+ color: var(--text-primary);
63
+ display: flex;
64
+ font-family: monospace;
65
+ font-size: 1rem;
66
+ }
67
+ #summary > div {
68
+ margin-right: 0.5rem;
69
+ background: var(--panel);
70
+ padding: 1rem;
71
+ min-width: 15rem;
72
+ }
73
+ #summary > div:last-child {
74
+ margin-right: 0;
75
+ }
76
+ @media only screen and (max-width: 720px) {
77
+ #summary {
78
+ flex-direction: column;
79
+ }
80
+ #summary > div {
81
+ margin-right: 0;
82
+ margin-top: 1rem;
83
+ }
84
+ #summary > div:first-child {
85
+ margin-top: 0;
86
+ }
87
+ }
88
+
89
+ .summary-total {
90
+ font-weight: bold;
91
+ margin-bottom: 0.5rem;
92
+ }
93
+ .summary-passed {
94
+ color: var(--success);
95
+ border-left: 0.4rem solid var(--success);
96
+ padding-left: 0.5rem;
97
+ margin-bottom: 0.15rem;
98
+ }
99
+ .summary-failed,
100
+ .summary-obsolete-snapshots {
101
+ color: var(--danger);
102
+ border-left: 0.4rem solid var(--danger);
103
+ padding-left: 0.5rem;
104
+ margin-bottom: 0.15rem;
105
+ }
106
+ .summary-pending {
107
+ color: var(--warning);
108
+ border-left: 0.4rem solid var(--warning);
109
+ padding-left: 0.5rem;
110
+ margin-bottom: 0.15rem;
111
+ }
112
+ .summary-empty {
113
+ color: var(--disabled);
114
+ border-left: 0.4rem solid var(--disabled);
115
+ margin-bottom: 0.15rem;
116
+ }
117
+
118
+ .test-result {
119
+ padding: 1rem;
120
+ margin-bottom: 0.25rem;
121
+ }
122
+ .test-result:last-child {
123
+ border: 0;
124
+ }
125
+ .test-result.passed {
126
+ background-color: var(--success-bright);
127
+ color: var(--success);
128
+ }
129
+ .test-result.failed {
130
+ background-color: var(--danger-bright);
131
+ color: var(--danger);
132
+ }
133
+ .test-result.pending {
134
+ background-color: var(--warning-bright);
135
+ color: var(--warning);
136
+ }
137
+
138
+ .test-info {
139
+ display: flex;
140
+ justify-content: space-between;
141
+ }
142
+ .test-suitename {
143
+ width: 20%;
144
+ text-align: left;
145
+ font-weight: bold;
146
+ word-break: break-word;
147
+ }
148
+ .test-title {
149
+ width: 40%;
150
+ text-align: left;
151
+ font-style: italic;
152
+ }
153
+ .test-status {
154
+ width: 20%;
155
+ text-align: right;
156
+ }
157
+ .test-duration {
158
+ width: 10%;
159
+ text-align: right;
160
+ font-size: 0.85rem;
161
+ }
162
+
163
+ .failureMessages {
164
+ padding: 0 1rem;
165
+ margin-top: 1rem;
166
+ border-top: 1px dashed var(--danger);
167
+ }
168
+ .failureMessages.suiteFailure {
169
+ border-top: none;
170
+ }
171
+ .failureMsg {
172
+ white-space: pre-wrap;
173
+ white-space: -moz-pre-wrap;
174
+ white-space: -pre-wrap;
175
+ white-space: -o-pre-wrap;
176
+ word-wrap: break-word;
177
+ }
178
+
179
+ .suite-container {
180
+ margin-bottom: 1rem;
181
+ }
182
+ .suite-info {
183
+ padding: 1rem;
184
+ background-color: var(--panel);
185
+ color: var(--text-secondary);
186
+ border: 0.15rem solid;
187
+ border-color: var(--panel);
188
+ display: flex;
189
+ align-items: center;
190
+ margin-bottom: 0.25rem;
191
+ }
192
+ .suite-info:hover {
193
+ border-color: var(--border);
194
+ cursor: pointer;
195
+ }
196
+ .suite-info .suite-path {
197
+ word-break: break-all;
198
+ flex-grow: 1;
199
+ font-family: monospace;
200
+ font-size: 1rem;
201
+ }
202
+ .suite-info .suite-time {
203
+ margin-left: 1rem;
204
+ padding: 0.2rem 0.3rem;
205
+ font-size: 0.85rem;
206
+ }
207
+ .suite-info .suite-time.warn {
208
+ background-color: var(--danger);
209
+ color: #fff;
210
+ }
211
+ .suite-info:before {
212
+ content: "\2303";
213
+ display: inline-block;
214
+ margin-right: 1rem;
215
+ transform: rotate(180deg) translateY(0.15rem);
216
+ }
217
+ .suite-container[open] .suite-info:before {
218
+ transform: rotate(0deg) translateY(0.15rem);
219
+ }
220
+
221
+ /* CONSOLE LOGS */
222
+ .suite-consolelog {
223
+ margin-bottom: 0.25rem;
224
+ padding: 1rem;
225
+ background-color: var(--panel);
226
+ }
227
+ .suite-consolelog-header {
228
+ font-weight: bold;
229
+ }
230
+ .suite-consolelog-item {
231
+ padding: 0.5rem;
232
+ }
233
+ .suite-consolelog-item pre {
234
+ margin: 0.5rem 0;
235
+ white-space: pre-wrap;
236
+ white-space: -moz-pre-wrap;
237
+ white-space: -pre-wrap;
238
+ white-space: -o-pre-wrap;
239
+ word-wrap: break-word;
240
+ }
241
+ .suite-consolelog-item-origin {
242
+ color: var(--text-secondary);
243
+ font-weight: bold;
244
+ }
245
+ .suite-consolelog-item-message {
246
+ color: var(--text-primary);
247
+ font-size: 1rem;
248
+ padding: 0 0.5rem;
249
+ }
250
+
251
+ /* OBSOLETE SNAPSHOTS */
252
+ .suite-obsolete-snapshots {
253
+ margin-bottom: 0.25rem;
254
+ padding: 1rem;
255
+ background-color: var(--danger-bright);
256
+ color: var(--danger);
257
+ }
258
+ .suite-obsolete-snapshots-header {
259
+ font-weight: bold;
260
+ }
261
+ .suite-obsolete-snapshots-item {
262
+ padding: 0.5rem;
263
+ }
264
+ .suite-obsolete-snapshots-item pre {
265
+ margin: 0.5rem 0;
266
+ white-space: pre-wrap;
267
+ white-space: -moz-pre-wrap;
268
+ white-space: -pre-wrap;
269
+ white-space: -o-pre-wrap;
270
+ word-wrap: break-word;
271
+ }
272
+ .suite-obsolete-snapshots-item-message {
273
+ color: var(--text-primary);
274
+ font-size: 1rem;
275
+ padding: 0 0.5rem;
276
+ }
277
+ </style></head><body><main class="jesthtml-content"><header><h1 id="title">API SDK Test Report</h1></header><section id="metadata-container"><div id="timestamp">Started: 2026-08-11 16:46:41</div><div id="summary"><div id="suite-summary"><div class="summary-total">Suites (32)</div><div class="summary-passed summary-empty">0 passed</div><div class="summary-failed ">32 failed</div><div class="summary-pending summary-empty">0 pending</div></div><div id="test-summary"><div class="summary-total">Tests (60)</div><div class="summary-passed summary-empty">0 passed</div><div class="summary-failed ">60 failed</div><div class="summary-pending summary-empty">0 pending</div></div></div></section><details id="suite-1" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/offers.test.js</div><div class="suite-time">0.578s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/offers</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.031s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-2" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/coupons.test.js</div><div class="suite-time">0.136s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/coupons</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.005s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-3" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/users/telegram.test.js</div><div class="suite-time">0.184s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/users/{id}/telegram</div><div class="test-title">linkToken | authenticated owner returns a deep link</div><div class="test-status">failed</div><div class="test-duration">0.005s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/users/{id}/telegram</div><div class="test-title">connect | rejects an invalid signature</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/users/{id}/telegram</div><div class="test-title">connect | missing params returns a validation error</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-4" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/telegram.test.js</div><div class="suite-time">0.159s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/telegram</div><div class="test-title">webhookStatus | requires authentication</div><div class="test-status">failed</div><div class="test-duration">0.006s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: expect(received).rejects.toMatchObject(expected)
278
+
279
+ - Expected - 3
280
+ + Received + 1
281
+
282
+ - Object {
283
+ - "status": 401,
284
+ - }
285
+ + TypeError {}
286
+ at Object.toMatchObject (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/expect/build/index.js:2155:20)
287
+ at Object.toMatchObject (/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/telegram.test.js:9:60)
288
+ at Promise.finally.completed (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1557:28)
289
+ at new Promise (&lt;anonymous&gt;)
290
+ at callAsyncCircusFn (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1497:10)
291
+ at _callCircusTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1007:40)
292
+ at _runTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:947:3)
293
+ at /Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:849:7
294
+ at _runTestsForDescribeBlock (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:862:11)
295
+ at _runTestsForDescribeBlock (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:857:11)
296
+ at run (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:761:3)
297
+ at runAndTransformResultsToJestFormat (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1918:21)
298
+ at jestAdapter (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/runner.js:101:19)
299
+ at runTestInternal (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-runner/build/index.js:275:16)
300
+ at runTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-runner/build/index.js:343:7)</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/telegram</div><div class="test-title">webhookStatus | forbidden below admin</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/telegram</div><div class="test-title">webhookStatus | reachable by admin</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/telegram</div><div class="test-title">setWebhook | requires authentication</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: expect(received).rejects.toMatchObject(expected)
301
+
302
+ - Expected - 3
303
+ + Received + 1
304
+
305
+ - Object {
306
+ - "status": 401,
307
+ - }
308
+ + TypeError {}
309
+ at Object.toMatchObject (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/expect/build/index.js:2155:20)
310
+ at Object.toMatchObject (/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/telegram.test.js:26:57)
311
+ at Promise.finally.completed (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1557:28)
312
+ at new Promise (&lt;anonymous&gt;)
313
+ at callAsyncCircusFn (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1497:10)
314
+ at _callCircusTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1007:40)
315
+ at processTicksAndRejections (node:internal/process/task_queues:104:5)
316
+ at _runTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:947:3)
317
+ at /Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:849:7
318
+ at _runTestsForDescribeBlock (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:862:11)
319
+ at _runTestsForDescribeBlock (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:857:11)
320
+ at run (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:761:3)
321
+ at runAndTransformResultsToJestFormat (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1918:21)
322
+ at jestAdapter (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/runner.js:101:19)
323
+ at runTestInternal (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-runner/build/index.js:275:16)
324
+ at runTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-runner/build/index.js:343:7)</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/telegram</div><div class="test-title">setWebhook | forbidden below admin</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-5" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/hashes.test.js</div><div class="suite-time">0.145s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/hashes</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-6" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/organizations.test.js</div><div class="suite-time">0.174s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/organizations</div><div class="test-title">get | unauthenticated</div><div class="test-status">failed</div><div class="test-duration">0.008s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: expect(received).rejects.toMatchObject(expected)
325
+
326
+ - Expected - 3
327
+ + Received + 1
328
+
329
+ - Object {
330
+ - "status": 401,
331
+ - }
332
+ + TypeError {}
333
+ at Object.toMatchObject (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/expect/build/index.js:2155:20)
334
+ at Object.toMatchObject (/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/organizations.test.js:16:55)
335
+ at Promise.finally.completed (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1557:28)
336
+ at new Promise (&lt;anonymous&gt;)
337
+ at callAsyncCircusFn (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1497:10)
338
+ at _callCircusTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1007:40)
339
+ at _runTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:947:3)
340
+ at /Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:849:7
341
+ at _runTestsForDescribeBlock (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:862:11)
342
+ at _runTestsForDescribeBlock (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:857:11)
343
+ at run (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:761:3)
344
+ at runAndTransformResultsToJestFormat (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1918:21)
345
+ at jestAdapter (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/runner.js:101:19)
346
+ at runTestInternal (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-runner/build/index.js:275:16)
347
+ at runTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-runner/build/index.js:343:7)</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/organizations</div><div class="test-title">create | employee-and-above</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/organizations</div><div class="test-title">get(id) | shape</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/organizations</div><div class="test-title">edit</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/organizations</div><div class="test-title">members(id).get() | empty for a freshly created organization</div><div class="test-status">failed</div><div class="test-duration">0.001s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/organizations</div><div class="test-title">members(id).courses(userId) | rejects a non-member user_id</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/organizations</div><div class="test-title">members(id).createPayment(userId, data) | reaches validation, not the OwnerOrStaff 403</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/users/organization-owners</div><div class="test-title">get | unauthenticated</div><div class="test-status">failed</div><div class="test-duration">0.001s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/users/organization-owners</div><div class="test-title">get | employee-and-above</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-7" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/auth/login.test.js</div><div class="suite-time">0.184s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/auth/login</div><div class="test-title">POST | failure | no email validation</div><div class="test-status">failed</div><div class="test-duration">0.009s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: expect(received).rejects.toMatchObject(expected)
348
+
349
+ - Expected - 8
350
+ + Received + 1
351
+
352
+ - Object {
353
+ - "data": Object {
354
+ - "errors": ObjectContaining {
355
+ - "email": Anything,
356
+ - },
357
+ - },
358
+ - "status": 422,
359
+ - }
360
+ + TypeError {}
361
+ at Object.toMatchObject (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/expect/build/index.js:2155:20)
362
+ at Object.toMatchObject (/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/auth/login.test.js:14:60)
363
+ at Promise.finally.completed (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1557:28)
364
+ at new Promise (&lt;anonymous&gt;)
365
+ at callAsyncCircusFn (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1497:10)
366
+ at _callCircusTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1007:40)
367
+ at _runTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:947:3)
368
+ at /Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:849:7
369
+ at _runTestsForDescribeBlock (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:862:11)
370
+ at _runTestsForDescribeBlock (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:857:11)
371
+ at run (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:761:3)
372
+ at runAndTransformResultsToJestFormat (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1918:21)
373
+ at jestAdapter (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/runner.js:101:19)
374
+ at runTestInternal (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-runner/build/index.js:275:16)
375
+ at runTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-runner/build/index.js:343:7)</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/auth/login</div><div class="test-title">POST | failure | no password validation</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: expect(received).rejects.toMatchObject(expected)
376
+
377
+ - Expected - 8
378
+ + Received + 1
379
+
380
+ - Object {
381
+ - "data": Object {
382
+ - "errors": ObjectContaining {
383
+ - "password": Anything,
384
+ - },
385
+ - },
386
+ - "status": 422,
387
+ - }
388
+ + TypeError {}
389
+ at Object.toMatchObject (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/expect/build/index.js:2155:20)
390
+ at Object.toMatchObject (/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/auth/login.test.js:22:57)
391
+ at Promise.finally.completed (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1557:28)
392
+ at new Promise (&lt;anonymous&gt;)
393
+ at callAsyncCircusFn (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1497:10)
394
+ at _callCircusTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1007:40)
395
+ at processTicksAndRejections (node:internal/process/task_queues:104:5)
396
+ at _runTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:947:3)
397
+ at /Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:849:7
398
+ at _runTestsForDescribeBlock (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:862:11)
399
+ at _runTestsForDescribeBlock (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:857:11)
400
+ at run (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:761:3)
401
+ at runAndTransformResultsToJestFormat (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1918:21)
402
+ at jestAdapter (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/runner.js:101:19)
403
+ at runTestInternal (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-runner/build/index.js:275:16)
404
+ at runTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-runner/build/index.js:343:7)</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/auth/login</div><div class="test-title">POST | success</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/auth/login</div><div class="test-title">POST | double login</div><div class="test-status">failed</div><div class="test-duration">0.001s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-8" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/teacher/index.test.js</div><div class="suite-time">0.18s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/teacher/absences</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.006s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/teacher/config-sets</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/teacher/configs</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.001s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-9" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/quizzes/index.test.js</div><div class="suite-time">0.168s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/quizzes</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/quizzes</div><div class="test-title">get questions | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-10" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/accounts.test.js</div><div class="suite-time">0.189s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/accounts</div><div class="test-title">get | unauthenticated</div><div class="test-status">failed</div><div class="test-duration">0.007s</div></div><div class="failureMessages"> <pre class="failureMsg">Error: expect(received).rejects.toMatchObject(expected)
405
+
406
+ - Expected - 3
407
+ + Received + 1
408
+
409
+ - Object {
410
+ - "status": 401,
411
+ - }
412
+ + TypeError {}
413
+ at Object.toMatchObject (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/expect/build/index.js:2155:20)
414
+ at Object.toMatchObject (/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/accounts.test.js:12:50)
415
+ at Promise.finally.completed (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1557:28)
416
+ at new Promise (&lt;anonymous&gt;)
417
+ at callAsyncCircusFn (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1497:10)
418
+ at _callCircusTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1007:40)
419
+ at _runTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:947:3)
420
+ at /Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:849:7
421
+ at _runTestsForDescribeBlock (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:862:11)
422
+ at _runTestsForDescribeBlock (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:857:11)
423
+ at run (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:761:3)
424
+ at runAndTransformResultsToJestFormat (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/jestAdapterInit.js:1918:21)
425
+ at jestAdapter (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-circus/build/runner.js:101:19)
426
+ at runTestInternal (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-runner/build/index.js:275:16)
427
+ at runTest (/Users/roquendo/code/insignia-education/api-sdk-js/node_modules/jest-runner/build/index.js:343:7)</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/accounts</div><div class="test-title">get | authenticated but other type</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/accounts</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-11" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/users/index.test.js</div><div class="suite-time">0.189s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/users</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.006s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/users</div><div class="test-title">get by id | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-12" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/files.test.js</div><div class="suite-time">0.169s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/files</div><div class="test-title">list | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/files</div><div class="test-title">upload | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.001s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-13" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/surveys/index.test.js</div><div class="suite-time">0.19s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/surveys</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.004s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/surveys</div><div class="test-title">get questions | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-14" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/payment-methods/by-currencies.test.js</div><div class="suite-time">0.252s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/payment-methods/by-currency/1</div><div class="test-title">get</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">users/cash-receivers</div><div class="test-title">get By currency id() returns a list</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-15" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/conversational-topics.test.js</div><div class="suite-time">0.195s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/conversational-topics</div><div class="test-title">get</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-16" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/currencies/history.test.js</div><div class="suite-time">0.196s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/currencies/{id}/history</div><div class="test-title">get</div><div class="test-status">failed</div><div class="test-duration">0.006s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-17" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/forums/index.test.js</div><div class="suite-time">0.191s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/forums</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-18" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/user-types.test.js</div><div class="suite-time">0.207s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/user-types</div><div class="test-title">get</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-19" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/contact-forms.test.js</div><div class="suite-time">0.208s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/contact-forms</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-20" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/mail-blacklist.test.js</div><div class="suite-time">0.228s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/mail-blacklist</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.004s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-21" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/changelogs.test.js</div><div class="suite-time">0.209s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/changelogs</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-22" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/zoom.test.js</div><div class="suite-time">0.216s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/zoom/meetings</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-23" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/taxes.test.js</div><div class="suite-time">0.215s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/taxes</div><div class="test-title">get</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-24" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/short-links.test.js</div><div class="suite-time">0.229s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/short-links</div><div class="test-title">get | authenticated</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-25" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/courses/index.test.js</div><div class="suite-time">0.25s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/courses</div><div class="test-title">get | returns paginated list</div><div class="test-status">failed</div><div class="test-duration">0.004s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/courses</div><div class="test-title">get | page 2</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/courses</div><div class="test-title">get by id | returns single course</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-26" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/courses/by-cod.test.js</div><div class="suite-time">0.232s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/courses/cod/:cod</div><div class="test-title">get by cod | returns matching course</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-27" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/currencies/values.test.js</div><div class="suite-time">0.25s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/currencies/values</div><div class="test-title">get</div><div class="test-status">failed</div><div class="test-duration">0.004s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-28" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/countries.test.js</div><div class="suite-time">0.245s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/countries</div><div class="test-title">get</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-29" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/insignias.test.js</div><div class="suite-time">0.275s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/insignias</div><div class="test-title">get</div><div class="test-status">failed</div><div class="test-duration">0.002s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-30" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/currencies/index.test.js</div><div class="suite-time">0.275s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/currencies</div><div class="test-title">get</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-31" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/languages.test.js</div><div class="suite-time">0.274s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/languages</div><div class="test-title">get</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details><details id="suite-32" class="suite-container" open=""><summary class="suite-info"><div class="suite-path">/Users/roquendo/code/insignia-education/api-sdk-js/tests/integration/api/v1/users/cash-receivers.test.js</div><div class="suite-time">0.263s</div></summary><div class="suite-tests"><div class="test-result failed"><div class="test-info"><div class="test-suitename">api/v1/users/cash-receivers</div><div class="test-title">get</div><div class="test-status">failed</div><div class="test-duration">0.003s</div></div><div class="failureMessages"> <pre class="failureMsg">TypeError: fetch failed</pre></div></div></div></details></main></body></html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@insignia-education/api-sdk-js",
3
- "version": "0.15.67",
3
+ "version": "0.15.68",
4
4
  "description": "JavaScript SDK for the Insignia Education API",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -27,6 +27,12 @@ export default class Courses {
27
27
  /** Users enrolled on this course as a teacher (user_courses.teacher = 1). */
28
28
  teachers(courseId) { return this.#client.get(`/courses/${courseId}/teachers`); }
29
29
 
30
+ /** Student-facing: this course's teachers who currently have open individual-session slots — the booking wizard's "choose a teacher" step. */
31
+ bookableTeachers(courseId) { return this.#client.get(`/courses/${courseId}/teachers/bookable`); }
32
+
33
+ /** Student-facing: one of this course's teachers' open individual-session slots, keyed by date ("Y-m-d") to a list of "H:i" start times. */
34
+ teacherAvailability(courseId, teacherId) { return this.#client.get(`/courses/${courseId}/teachers/${teacherId}/availability`); }
35
+
30
36
  /** Customer-facing session-credit pricing (no commission fields) for self-checkout. */
31
37
  sessionsPricing(courseId) { return this.#client.get(`/courses/${courseId}/sessions/pricing`); }
32
38
 
@@ -18,4 +18,7 @@ export default class Sales {
18
18
 
19
19
  /** Sellers and above: users with all 3 KYC files uploaded but not yet verified. */
20
20
  kycPending() { return this.#client.get('/sales/kyc-pending'); }
21
+
22
+ /** Course dates starting within the current calendar week (Mon–Sun). */
23
+ coursesStartingThisWeek() { return this.#client.get('/sales/courses/starting-this-week'); }
21
24
  }