@eduware/oneroster 1.2.4 → 1.2.6

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 (224) hide show
  1. package/FUNCTIONS.md +232 -0
  2. package/README.md +493 -334
  3. package/bin/mcp-server.js +338 -1328
  4. package/bin/mcp-server.js.map +22 -21
  5. package/dist/commonjs/enums/index.d.ts +2 -0
  6. package/dist/commonjs/enums/index.d.ts.map +1 -0
  7. package/dist/commonjs/enums/index.js +18 -0
  8. package/dist/commonjs/enums/index.js.map +1 -0
  9. package/dist/commonjs/index.d.ts +4 -0
  10. package/dist/commonjs/index.d.ts.map +1 -1
  11. package/dist/commonjs/index.js +41 -1
  12. package/dist/commonjs/index.js.map +1 -1
  13. package/dist/commonjs/models/errors/index.d.ts +1 -0
  14. package/dist/commonjs/models/errors/index.d.ts.map +1 -1
  15. package/dist/commonjs/models/errors/index.js +1 -0
  16. package/dist/commonjs/models/errors/index.js.map +1 -1
  17. package/dist/commonjs/models/index.d.ts +2 -0
  18. package/dist/commonjs/models/index.d.ts.map +1 -0
  19. package/dist/commonjs/models/index.js +18 -0
  20. package/dist/commonjs/models/index.js.map +1 -0
  21. package/dist/commonjs/models/operations/createuser.d.ts +8 -270
  22. package/dist/commonjs/models/operations/createuser.d.ts.map +1 -1
  23. package/dist/commonjs/models/operations/createuser.js +17 -178
  24. package/dist/commonjs/models/operations/createuser.js.map +1 -1
  25. package/dist/commonjs/models/operations/getallstudents.d.ts +6 -206
  26. package/dist/commonjs/models/operations/getallstudents.d.ts.map +1 -1
  27. package/dist/commonjs/models/operations/getallstudents.js +12 -132
  28. package/dist/commonjs/models/operations/getallstudents.js.map +1 -1
  29. package/dist/commonjs/models/operations/getallteachers.d.ts +6 -206
  30. package/dist/commonjs/models/operations/getallteachers.d.ts.map +1 -1
  31. package/dist/commonjs/models/operations/getallteachers.js +12 -132
  32. package/dist/commonjs/models/operations/getallteachers.js.map +1 -1
  33. package/dist/commonjs/models/operations/getallusers.d.ts +6 -206
  34. package/dist/commonjs/models/operations/getallusers.d.ts.map +1 -1
  35. package/dist/commonjs/models/operations/getallusers.js +12 -132
  36. package/dist/commonjs/models/operations/getallusers.js.map +1 -1
  37. package/dist/commonjs/models/operations/getclassesforuser.d.ts +4 -85
  38. package/dist/commonjs/models/operations/getclassesforuser.d.ts.map +1 -1
  39. package/dist/commonjs/models/operations/getclassesforuser.js +8 -67
  40. package/dist/commonjs/models/operations/getclassesforuser.js.map +1 -1
  41. package/dist/commonjs/models/operations/getresourcesforuser.d.ts +5 -111
  42. package/dist/commonjs/models/operations/getresourcesforuser.d.ts.map +1 -1
  43. package/dist/commonjs/models/operations/getresourcesforuser.js +10 -88
  44. package/dist/commonjs/models/operations/getresourcesforuser.js.map +1 -1
  45. package/dist/commonjs/models/operations/getstudent.d.ts +5 -174
  46. package/dist/commonjs/models/operations/getstudent.d.ts.map +1 -1
  47. package/dist/commonjs/models/operations/getstudent.js +10 -108
  48. package/dist/commonjs/models/operations/getstudent.js.map +1 -1
  49. package/dist/commonjs/models/operations/getstudentsforclass.d.ts +6 -206
  50. package/dist/commonjs/models/operations/getstudentsforclass.d.ts.map +1 -1
  51. package/dist/commonjs/models/operations/getstudentsforclass.js +12 -132
  52. package/dist/commonjs/models/operations/getstudentsforclass.js.map +1 -1
  53. package/dist/commonjs/models/operations/getstudentsforclassinschool.d.ts +6 -206
  54. package/dist/commonjs/models/operations/getstudentsforclassinschool.d.ts.map +1 -1
  55. package/dist/commonjs/models/operations/getstudentsforclassinschool.js +12 -132
  56. package/dist/commonjs/models/operations/getstudentsforclassinschool.js.map +1 -1
  57. package/dist/commonjs/models/operations/getstudentsforschool.d.ts +6 -206
  58. package/dist/commonjs/models/operations/getstudentsforschool.d.ts.map +1 -1
  59. package/dist/commonjs/models/operations/getstudentsforschool.js +12 -132
  60. package/dist/commonjs/models/operations/getstudentsforschool.js.map +1 -1
  61. package/dist/commonjs/models/operations/getteacher.d.ts +5 -174
  62. package/dist/commonjs/models/operations/getteacher.d.ts.map +1 -1
  63. package/dist/commonjs/models/operations/getteacher.js +10 -108
  64. package/dist/commonjs/models/operations/getteacher.js.map +1 -1
  65. package/dist/commonjs/models/operations/getteachersforclass.d.ts +6 -206
  66. package/dist/commonjs/models/operations/getteachersforclass.d.ts.map +1 -1
  67. package/dist/commonjs/models/operations/getteachersforclass.js +12 -132
  68. package/dist/commonjs/models/operations/getteachersforclass.js.map +1 -1
  69. package/dist/commonjs/models/operations/getteachersforclassinschool.d.ts +6 -206
  70. package/dist/commonjs/models/operations/getteachersforclassinschool.d.ts.map +1 -1
  71. package/dist/commonjs/models/operations/getteachersforclassinschool.js +12 -132
  72. package/dist/commonjs/models/operations/getteachersforclassinschool.js.map +1 -1
  73. package/dist/commonjs/models/operations/getteachersforschool.d.ts +6 -206
  74. package/dist/commonjs/models/operations/getteachersforschool.d.ts.map +1 -1
  75. package/dist/commonjs/models/operations/getteachersforschool.js +12 -132
  76. package/dist/commonjs/models/operations/getteachersforschool.js.map +1 -1
  77. package/dist/commonjs/models/operations/getuser.d.ts +5 -174
  78. package/dist/commonjs/models/operations/getuser.d.ts.map +1 -1
  79. package/dist/commonjs/models/operations/getuser.js +10 -108
  80. package/dist/commonjs/models/operations/getuser.js.map +1 -1
  81. package/dist/commonjs/models/operations/getuserwithdemographics.d.ts +5 -174
  82. package/dist/commonjs/models/operations/getuserwithdemographics.d.ts.map +1 -1
  83. package/dist/commonjs/models/operations/getuserwithdemographics.js +10 -108
  84. package/dist/commonjs/models/operations/getuserwithdemographics.js.map +1 -1
  85. package/dist/commonjs/models/operations/updateuser.d.ts +8 -270
  86. package/dist/commonjs/models/operations/updateuser.d.ts.map +1 -1
  87. package/dist/commonjs/models/operations/updateuser.js +17 -178
  88. package/dist/commonjs/models/operations/updateuser.js.map +1 -1
  89. package/dist/commonjs/models/shared/enums.d.ts +440 -0
  90. package/dist/commonjs/models/shared/enums.d.ts.map +1 -0
  91. package/dist/commonjs/models/shared/enums.js +499 -0
  92. package/dist/commonjs/models/shared/enums.js.map +1 -0
  93. package/dist/commonjs/models/shared/index.d.ts +8 -0
  94. package/dist/commonjs/models/shared/index.d.ts.map +1 -0
  95. package/dist/commonjs/models/shared/index.js +24 -0
  96. package/dist/commonjs/models/shared/index.js.map +1 -0
  97. package/dist/commonjs/types/index.d.ts +1 -0
  98. package/dist/commonjs/types/index.d.ts.map +1 -1
  99. package/dist/commonjs/types/index.js +16 -0
  100. package/dist/commonjs/types/index.js.map +1 -1
  101. package/dist/esm/enums/index.d.ts +2 -0
  102. package/dist/esm/enums/index.d.ts.map +1 -0
  103. package/dist/esm/enums/index.js +2 -0
  104. package/dist/esm/enums/index.js.map +1 -0
  105. package/dist/esm/index.d.ts +4 -0
  106. package/dist/esm/index.d.ts.map +1 -1
  107. package/dist/esm/index.js +14 -0
  108. package/dist/esm/index.js.map +1 -1
  109. package/dist/esm/models/errors/index.d.ts +1 -0
  110. package/dist/esm/models/errors/index.d.ts.map +1 -1
  111. package/dist/esm/models/errors/index.js +1 -0
  112. package/dist/esm/models/errors/index.js.map +1 -1
  113. package/dist/esm/models/index.d.ts +2 -0
  114. package/dist/esm/models/index.d.ts.map +1 -0
  115. package/dist/esm/models/index.js +2 -0
  116. package/dist/esm/models/index.js.map +1 -0
  117. package/dist/esm/models/operations/createuser.d.ts +8 -270
  118. package/dist/esm/models/operations/createuser.d.ts.map +1 -1
  119. package/dist/esm/models/operations/createuser.js +15 -176
  120. package/dist/esm/models/operations/createuser.js.map +1 -1
  121. package/dist/esm/models/operations/getallstudents.d.ts +6 -206
  122. package/dist/esm/models/operations/getallstudents.d.ts.map +1 -1
  123. package/dist/esm/models/operations/getallstudents.js +11 -131
  124. package/dist/esm/models/operations/getallstudents.js.map +1 -1
  125. package/dist/esm/models/operations/getallteachers.d.ts +6 -206
  126. package/dist/esm/models/operations/getallteachers.d.ts.map +1 -1
  127. package/dist/esm/models/operations/getallteachers.js +11 -131
  128. package/dist/esm/models/operations/getallteachers.js.map +1 -1
  129. package/dist/esm/models/operations/getallusers.d.ts +6 -206
  130. package/dist/esm/models/operations/getallusers.d.ts.map +1 -1
  131. package/dist/esm/models/operations/getallusers.js +11 -131
  132. package/dist/esm/models/operations/getallusers.js.map +1 -1
  133. package/dist/esm/models/operations/getclassesforuser.d.ts +4 -85
  134. package/dist/esm/models/operations/getclassesforuser.d.ts.map +1 -1
  135. package/dist/esm/models/operations/getclassesforuser.js +7 -66
  136. package/dist/esm/models/operations/getclassesforuser.js.map +1 -1
  137. package/dist/esm/models/operations/getresourcesforuser.d.ts +5 -111
  138. package/dist/esm/models/operations/getresourcesforuser.d.ts.map +1 -1
  139. package/dist/esm/models/operations/getresourcesforuser.js +9 -87
  140. package/dist/esm/models/operations/getresourcesforuser.js.map +1 -1
  141. package/dist/esm/models/operations/getstudent.d.ts +5 -174
  142. package/dist/esm/models/operations/getstudent.d.ts.map +1 -1
  143. package/dist/esm/models/operations/getstudent.js +9 -107
  144. package/dist/esm/models/operations/getstudent.js.map +1 -1
  145. package/dist/esm/models/operations/getstudentsforclass.d.ts +6 -206
  146. package/dist/esm/models/operations/getstudentsforclass.d.ts.map +1 -1
  147. package/dist/esm/models/operations/getstudentsforclass.js +11 -131
  148. package/dist/esm/models/operations/getstudentsforclass.js.map +1 -1
  149. package/dist/esm/models/operations/getstudentsforclassinschool.d.ts +6 -206
  150. package/dist/esm/models/operations/getstudentsforclassinschool.d.ts.map +1 -1
  151. package/dist/esm/models/operations/getstudentsforclassinschool.js +11 -131
  152. package/dist/esm/models/operations/getstudentsforclassinschool.js.map +1 -1
  153. package/dist/esm/models/operations/getstudentsforschool.d.ts +6 -206
  154. package/dist/esm/models/operations/getstudentsforschool.d.ts.map +1 -1
  155. package/dist/esm/models/operations/getstudentsforschool.js +11 -131
  156. package/dist/esm/models/operations/getstudentsforschool.js.map +1 -1
  157. package/dist/esm/models/operations/getteacher.d.ts +5 -174
  158. package/dist/esm/models/operations/getteacher.d.ts.map +1 -1
  159. package/dist/esm/models/operations/getteacher.js +9 -107
  160. package/dist/esm/models/operations/getteacher.js.map +1 -1
  161. package/dist/esm/models/operations/getteachersforclass.d.ts +6 -206
  162. package/dist/esm/models/operations/getteachersforclass.d.ts.map +1 -1
  163. package/dist/esm/models/operations/getteachersforclass.js +11 -131
  164. package/dist/esm/models/operations/getteachersforclass.js.map +1 -1
  165. package/dist/esm/models/operations/getteachersforclassinschool.d.ts +6 -206
  166. package/dist/esm/models/operations/getteachersforclassinschool.d.ts.map +1 -1
  167. package/dist/esm/models/operations/getteachersforclassinschool.js +11 -131
  168. package/dist/esm/models/operations/getteachersforclassinschool.js.map +1 -1
  169. package/dist/esm/models/operations/getteachersforschool.d.ts +6 -206
  170. package/dist/esm/models/operations/getteachersforschool.d.ts.map +1 -1
  171. package/dist/esm/models/operations/getteachersforschool.js +11 -131
  172. package/dist/esm/models/operations/getteachersforschool.js.map +1 -1
  173. package/dist/esm/models/operations/getuser.d.ts +5 -174
  174. package/dist/esm/models/operations/getuser.d.ts.map +1 -1
  175. package/dist/esm/models/operations/getuser.js +9 -107
  176. package/dist/esm/models/operations/getuser.js.map +1 -1
  177. package/dist/esm/models/operations/getuserwithdemographics.d.ts +5 -174
  178. package/dist/esm/models/operations/getuserwithdemographics.d.ts.map +1 -1
  179. package/dist/esm/models/operations/getuserwithdemographics.js +9 -107
  180. package/dist/esm/models/operations/getuserwithdemographics.js.map +1 -1
  181. package/dist/esm/models/operations/updateuser.d.ts +8 -270
  182. package/dist/esm/models/operations/updateuser.d.ts.map +1 -1
  183. package/dist/esm/models/operations/updateuser.js +15 -176
  184. package/dist/esm/models/operations/updateuser.js.map +1 -1
  185. package/dist/esm/models/shared/enums.d.ts +440 -0
  186. package/dist/esm/models/shared/enums.d.ts.map +1 -0
  187. package/dist/esm/models/shared/enums.js +462 -0
  188. package/dist/esm/models/shared/enums.js.map +1 -0
  189. package/dist/esm/models/shared/index.d.ts +8 -0
  190. package/dist/esm/models/shared/index.d.ts.map +1 -0
  191. package/dist/esm/models/shared/index.js +8 -0
  192. package/dist/esm/models/shared/index.js.map +1 -0
  193. package/dist/esm/types/index.d.ts +1 -0
  194. package/dist/esm/types/index.d.ts.map +1 -1
  195. package/dist/esm/types/index.js +2 -0
  196. package/dist/esm/types/index.js.map +1 -1
  197. package/package.json +37 -64
  198. package/src/enums/index.ts +1 -0
  199. package/src/index.ts +44 -0
  200. package/src/models/errors/index.ts +1 -0
  201. package/src/models/index.ts +1 -0
  202. package/src/models/operations/createuser.ts +35 -238
  203. package/src/models/operations/getallstudents.ts +32 -170
  204. package/src/models/operations/getallteachers.ts +32 -170
  205. package/src/models/operations/getallusers.ts +32 -170
  206. package/src/models/operations/getclassesforuser.ts +20 -97
  207. package/src/models/operations/getresourcesforuser.ts +26 -127
  208. package/src/models/operations/getstudent.ts +26 -136
  209. package/src/models/operations/getstudentsforclass.ts +32 -180
  210. package/src/models/operations/getstudentsforclassinschool.ts +32 -188
  211. package/src/models/operations/getstudentsforschool.ts +32 -180
  212. package/src/models/operations/getteacher.ts +26 -136
  213. package/src/models/operations/getteachersforclass.ts +32 -180
  214. package/src/models/operations/getteachersforclassinschool.ts +32 -188
  215. package/src/models/operations/getteachersforschool.ts +32 -180
  216. package/src/models/operations/getuser.ts +26 -136
  217. package/src/models/operations/getuserwithdemographics.ts +26 -144
  218. package/src/models/operations/updateuser.ts +35 -238
  219. package/src/models/shared/enums.ts +567 -0
  220. package/src/models/shared/index.ts +8 -0
  221. package/src/types/index.ts +3 -0
  222. package/test/classlink.test.ts +26 -26
  223. package/vitest.config.ts +2 -2
  224. package/test/summary-reporter.ts +0 -114
@@ -199,7 +199,7 @@ function createAPITestSuite(config: AuthConfig) {
199
199
  it('orgs', async () => {
200
200
  try {
201
201
  for await (const page of await client.organizationsManagement.getAllOrgs({
202
- limit: 2,
202
+ limit: 5,
203
203
  })) {
204
204
  expect(Array.isArray(page.result.orgs || [])).toBe(true);
205
205
  recordResult(authType, 'orgs', 'passed');
@@ -214,7 +214,7 @@ function createAPITestSuite(config: AuthConfig) {
214
214
  it('schools', async () => {
215
215
  try {
216
216
  for await (const page of await client.schoolsManagement.getAllSchools({
217
- limit: 2,
217
+ limit: 5,
218
218
  })) {
219
219
  const items = page.result.orgs || [];
220
220
  expect(Array.isArray(items)).toBe(true);
@@ -231,7 +231,7 @@ function createAPITestSuite(config: AuthConfig) {
231
231
  it('courses', async () => {
232
232
  try {
233
233
  for await (const page of await client.coursesManagement.getAllCourses({
234
- limit: 2,
234
+ limit: 5,
235
235
  })) {
236
236
  const items = page.result.courses || [];
237
237
  expect(Array.isArray(items)).toBe(true);
@@ -248,7 +248,7 @@ function createAPITestSuite(config: AuthConfig) {
248
248
  it('classes', async () => {
249
249
  try {
250
250
  for await (const page of await client.classesManagement.getAllClasses({
251
- limit: 2,
251
+ limit: 5,
252
252
  })) {
253
253
  const items = page.result.classes || [];
254
254
  expect(Array.isArray(items)).toBe(true);
@@ -265,7 +265,7 @@ function createAPITestSuite(config: AuthConfig) {
265
265
  it('users', async () => {
266
266
  try {
267
267
  for await (const page of await client.usersManagement.getAllUsers({
268
- limit: 2,
268
+ limit: 5,
269
269
  })) {
270
270
  const items = page.result.users || [];
271
271
  expect(Array.isArray(items)).toBe(true);
@@ -282,7 +282,7 @@ function createAPITestSuite(config: AuthConfig) {
282
282
  it('students', async () => {
283
283
  try {
284
284
  for await (const page of await client.studentsManagement.getAllStudents({
285
- limit: 2,
285
+ limit: 5,
286
286
  })) {
287
287
  const items = page.result.users || [];
288
288
  expect(Array.isArray(items)).toBe(true);
@@ -299,7 +299,7 @@ function createAPITestSuite(config: AuthConfig) {
299
299
  it('teachers', async () => {
300
300
  try {
301
301
  for await (const page of await client.teachersManagement.getAllTeachers({
302
- limit: 2,
302
+ limit: 5,
303
303
  })) {
304
304
  const items = page.result.users || [];
305
305
  expect(Array.isArray(items)).toBe(true);
@@ -316,7 +316,7 @@ function createAPITestSuite(config: AuthConfig) {
316
316
  it('enrollments', async () => {
317
317
  try {
318
318
  for await (const page of await client.enrollmentsManagement.getAllEnrollments({
319
- limit: 2,
319
+ limit: 5,
320
320
  })) {
321
321
  expect(Array.isArray(page.result.enrollments || [])).toBe(true);
322
322
  recordResult(authType, 'enrollments', 'passed');
@@ -331,7 +331,7 @@ function createAPITestSuite(config: AuthConfig) {
331
331
  it('terms', async () => {
332
332
  try {
333
333
  for await (const page of await client.termsManagement.getAllTerms({
334
- limit: 2,
334
+ limit: 5,
335
335
  })) {
336
336
  const items = page.result.academicSessions || [];
337
337
  expect(Array.isArray(items)).toBe(true);
@@ -370,7 +370,7 @@ function createAPITestSuite(config: AuthConfig) {
370
370
  try {
371
371
  for await (const page of await client.classesManagement.getClassesForSchool({
372
372
  schoolSourcedId: schoolId,
373
- limit: 2,
373
+ limit: 5,
374
374
  })) {
375
375
  expect(Array.isArray(page.result.classes || [])).toBe(true);
376
376
  recordResult(authType, 'schools/{id}/classes', 'passed');
@@ -390,7 +390,7 @@ function createAPITestSuite(config: AuthConfig) {
390
390
  try {
391
391
  for await (const page of await client.schoolsManagement.getStudentsForSchool({
392
392
  schoolSourcedId: schoolId,
393
- limit: 2,
393
+ limit: 5,
394
394
  })) {
395
395
  expect(Array.isArray(page.result.users || [])).toBe(true);
396
396
  recordResult(authType, 'schools/{id}/students', 'passed');
@@ -415,7 +415,7 @@ function createAPITestSuite(config: AuthConfig) {
415
415
  try {
416
416
  for await (const page of await client.schoolsManagement.getTeachersForSchool({
417
417
  schoolSourcedId: schoolId,
418
- limit: 2,
418
+ limit: 5,
419
419
  })) {
420
420
  expect(Array.isArray(page.result.users || [])).toBe(true);
421
421
  recordResult(authType, 'schools/{id}/teachers', 'passed');
@@ -440,7 +440,7 @@ function createAPITestSuite(config: AuthConfig) {
440
440
  try {
441
441
  for await (const page of await client.schoolsManagement.getCoursesForSchool({
442
442
  schoolSourcedId: schoolId,
443
- limit: 2,
443
+ limit: 5,
444
444
  })) {
445
445
  expect(Array.isArray(page.result.courses || [])).toBe(true);
446
446
  recordResult(authType, 'schools/{id}/courses', 'passed');
@@ -460,7 +460,7 @@ function createAPITestSuite(config: AuthConfig) {
460
460
  try {
461
461
  for await (const page of await client.schoolsManagement.getTermsForSchool({
462
462
  schoolSourcedId: schoolId,
463
- limit: 2,
463
+ limit: 5,
464
464
  })) {
465
465
  expect(Array.isArray(page.result.academicSessions || [])).toBe(true);
466
466
  recordResult(authType, 'schools/{id}/terms', 'passed');
@@ -480,7 +480,7 @@ function createAPITestSuite(config: AuthConfig) {
480
480
  try {
481
481
  for await (const page of await client.classesManagement.getStudentsForClass({
482
482
  classSourcedId: classId,
483
- limit: 2,
483
+ limit: 5,
484
484
  })) {
485
485
  expect(Array.isArray(page.result.users || [])).toBe(true);
486
486
  recordResult(authType, 'classes/{id}/students', 'passed');
@@ -505,7 +505,7 @@ function createAPITestSuite(config: AuthConfig) {
505
505
  try {
506
506
  for await (const page of await client.classesManagement.getTeachersForClass({
507
507
  classSourcedId: classId,
508
- limit: 2,
508
+ limit: 5,
509
509
  })) {
510
510
  expect(Array.isArray(page.result.users || [])).toBe(true);
511
511
  recordResult(authType, 'classes/{id}/teachers', 'passed');
@@ -530,7 +530,7 @@ function createAPITestSuite(config: AuthConfig) {
530
530
  try {
531
531
  for await (const page of await client.classesManagement.getClassesForUser({
532
532
  userSourcedId: userId,
533
- limit: 2,
533
+ limit: 5,
534
534
  })) {
535
535
  expect(Array.isArray(page.result.classes || [])).toBe(true);
536
536
  recordResult(authType, 'users/{id}/classes', 'passed');
@@ -550,7 +550,7 @@ function createAPITestSuite(config: AuthConfig) {
550
550
  try {
551
551
  for await (const page of await client.classesManagement.getClassesForTeacher({
552
552
  teacherSourcedId: teacherId,
553
- limit: 2,
553
+ limit: 5,
554
554
  })) {
555
555
  expect(Array.isArray(page.result.classes || [])).toBe(true);
556
556
  recordResult(authType, 'teachers/{id}/classes', 'passed');
@@ -575,7 +575,7 @@ function createAPITestSuite(config: AuthConfig) {
575
575
  try {
576
576
  for await (const page of await client.classesManagement.getClassesForStudent({
577
577
  studentSourcedId: studentId,
578
- limit: 2,
578
+ limit: 5,
579
579
  })) {
580
580
  expect(Array.isArray(page.result.classes || [])).toBe(true);
581
581
  recordResult(authType, 'students/{id}/classes', 'passed');
@@ -600,7 +600,7 @@ function createAPITestSuite(config: AuthConfig) {
600
600
  try {
601
601
  for await (const page of await client.classesManagement.getClassesForTerm({
602
602
  termSourcedId: termId,
603
- limit: 2,
603
+ limit: 5,
604
604
  })) {
605
605
  expect(Array.isArray(page.result.classes || [])).toBe(true);
606
606
  recordResult(authType, 'terms/{id}/classes', 'passed');
@@ -620,7 +620,7 @@ function createAPITestSuite(config: AuthConfig) {
620
620
  try {
621
621
  for await (const page of await client.coursesManagement.getClassesForCourse({
622
622
  courseSourcedId: courseId,
623
- limit: 2,
623
+ limit: 5,
624
624
  })) {
625
625
  expect(Array.isArray(page.result.classes || [])).toBe(true);
626
626
  recordResult(authType, 'courses/{id}/classes', 'passed');
@@ -640,7 +640,7 @@ function createAPITestSuite(config: AuthConfig) {
640
640
  try {
641
641
  for await (const page of await client.termsManagement.getGradingPeriodsForTerm({
642
642
  termSourcedId: termId,
643
- limit: 2,
643
+ limit: 5,
644
644
  })) {
645
645
  expect(Array.isArray(page.result.academicSessions || [])).toBe(true);
646
646
  recordResult(authType, 'terms/{id}/gradingPeriods', 'passed');
@@ -669,7 +669,7 @@ function createAPITestSuite(config: AuthConfig) {
669
669
  try {
670
670
  for await (const page of await client.classesManagement.getClassesForTerm({
671
671
  termSourcedId: termId,
672
- limit: 2,
672
+ limit: 5,
673
673
  })) {
674
674
  expect(Array.isArray(page.result.classes || [])).toBe(true);
675
675
  recordResult(authType, 'GET /terms/{id}/classes', 'passed');
@@ -699,7 +699,7 @@ function createAPITestSuite(config: AuthConfig) {
699
699
  try {
700
700
  for await (const page of await client.coursesManagement.getClassesForCourse({
701
701
  courseSourcedId: courseId,
702
- limit: 2,
702
+ limit: 5,
703
703
  })) {
704
704
  expect(Array.isArray(page.result.classes || [])).toBe(true);
705
705
  recordResult(authType, 'GET /courses/{id}/classes', 'passed');
@@ -729,7 +729,7 @@ function createAPITestSuite(config: AuthConfig) {
729
729
  try {
730
730
  for await (const page of await client.termsManagement.getGradingPeriodsForTerm({
731
731
  termSourcedId: termId,
732
- limit: 2,
732
+ limit: 20,
733
733
  })) {
734
734
  expect(Array.isArray(page.result.academicSessions || [])).toBe(true);
735
735
  recordResult(authType, 'GET /terms/{id}/gradingPeriods', 'passed');
@@ -751,7 +751,7 @@ function createAPITestSuite(config: AuthConfig) {
751
751
  it('should include totalCount from X-Total-Count header', async () => {
752
752
  try {
753
753
  for await (const page of await client.usersManagement.getAllUsers({
754
- limit: 1,
754
+ limit: 100,
755
755
  })) {
756
756
  // totalCount is on the page object itself (from PaginationMeta), not on page.result
757
757
  // It may be undefined if the server doesn't return the X-Total-Count header
package/vitest.config.ts CHANGED
@@ -19,8 +19,8 @@ export default defineConfig({
19
19
  DOTENV_CONFIG_PATH: './test/.env',
20
20
  },
21
21
 
22
- // Reporter options - use default + custom summary reporter
23
- reporters: ['default', './test/summary-reporter.ts'],
22
+ // Reporter options
23
+ reporters: ['default'],
24
24
 
25
25
  // Globals (describe, it, expect, etc.)
26
26
  globals: true,
@@ -1,114 +0,0 @@
1
- /**
2
- * Custom Vitest Reporter that prints a summary of passed/failed endpoints
3
- */
4
-
5
- import type { Reporter, File, Task } from 'vitest';
6
-
7
- interface TestResult {
8
- endpoint: string;
9
- status: 'passed' | 'failed';
10
- error?: string;
11
- }
12
-
13
- export default class SummaryReporter implements Reporter {
14
- private results: Map<string, TestResult[]> = new Map();
15
-
16
- onFinished(files?: File[]) {
17
- if (!files) return;
18
-
19
- // Process all test results
20
- for (const file of files) {
21
- this.processFile(file);
22
- }
23
-
24
- // Print summary
25
- this.printSummary();
26
- }
27
-
28
- private processFile(file: File) {
29
- for (const task of file.tasks) {
30
- this.processTask(task, null);
31
- }
32
- }
33
-
34
- private processTask(task: Task, authType: string | null) {
35
- // Check if this is an auth type suite (e.g., "OAUTH1 API Operations")
36
- const authMatch = task.name.match(/^(OAUTH1|OAUTH2|BEARER) API Operations$/);
37
- if (authMatch) {
38
- authType = authMatch[1]!;
39
- }
40
-
41
- if (task.type === 'suite' && 'tasks' in task && task.tasks) {
42
- for (const child of task.tasks) {
43
- this.processTask(child, authType);
44
- }
45
- } else if (task.type === 'test' && authType) {
46
- const passed = task.result?.state === 'pass';
47
- const errorMsg = this.getShortError(task.result?.errors?.[0]?.message);
48
- this.recordResult(authType, task.name, passed ? 'passed' : 'failed', errorMsg);
49
- }
50
- }
51
-
52
- private getShortError(error?: string): string | undefined {
53
- if (!error) return undefined;
54
- if (error.includes('404')) return '404 Not Found';
55
- if (error.includes('401')) return '401 Unauthorized';
56
- if (error.includes('403')) return '403 Forbidden';
57
- if (error.includes('ResponseValidationError') || error.includes('Zod'))
58
- return 'Response validation';
59
- if (error.length > 40) return error.substring(0, 37) + '...';
60
- return error;
61
- }
62
-
63
- private recordResult(
64
- authType: string,
65
- endpoint: string,
66
- status: 'passed' | 'failed',
67
- error?: string
68
- ) {
69
- if (!this.results.has(authType)) {
70
- this.results.set(authType, []);
71
- }
72
-
73
- // Avoid duplicates
74
- const existing = this.results.get(authType)!;
75
- if (!existing.some((r) => r.endpoint === endpoint)) {
76
- existing.push({ endpoint, status, error });
77
- }
78
- }
79
-
80
- private printSummary() {
81
- console.log('\n');
82
- console.log('╔══════════════════════════════════════════════════════════════════╗');
83
- console.log('║ TEST RESULTS SUMMARY ║');
84
- console.log('╚══════════════════════════════════════════════════════════════════╝');
85
-
86
- for (const [authType, results] of this.results) {
87
- const passed = results.filter((r) => r.status === 'passed');
88
- const failed = results.filter((r) => r.status === 'failed');
89
-
90
- console.log(`\n┌──────────────────────────────────────────────────────────────────┐`);
91
- console.log(
92
- `│ ${authType.padEnd(10)} - ${String(passed.length).padStart(2)} passed, ${String(failed.length).padStart(2)} failed`
93
- );
94
- console.log(`└──────────────────────────────────────────────────────────────────┘`);
95
-
96
- if (passed.length > 0) {
97
- console.log('\n ✅ PASSED:');
98
- for (const r of passed) {
99
- console.log(` • ${r.endpoint}`);
100
- }
101
- }
102
-
103
- if (failed.length > 0) {
104
- console.log('\n ❌ FAILED:');
105
- for (const r of failed) {
106
- const reason = r.error ? ` (${r.error})` : '';
107
- console.log(` • ${r.endpoint}${reason}`);
108
- }
109
- }
110
- }
111
-
112
- console.log('\n' + '═'.repeat(70) + '\n');
113
- }
114
- }