@kidemy/lib 1.0.13 → 1.0.14

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.
@@ -7,11 +7,11 @@ export declare const AccountInvitationDtoSchema: z.ZodObject<{
7
7
  updatedAt: z.ZodDate;
8
8
  }, z.core.$strip>;
9
9
  export type AccountInvitationDto = z.infer<typeof AccountInvitationDtoSchema>;
10
- export declare const AccountInvitationInfoSchema: z.ZodObject<{
10
+ export declare const AccountInvitationInfoDtoSchema: z.ZodObject<{
11
11
  id: z.ZodUUID;
12
12
  accountName: z.ZodString;
13
13
  invitorUid: z.ZodUUID;
14
14
  invitorFirstName: z.ZodString;
15
15
  invitorLastName: z.ZodString;
16
16
  }, z.core.$strip>;
17
- export type AccountInvitationInfo = z.infer<typeof AccountInvitationInfoSchema>;
17
+ export type AccountInvitationInfoDto = z.infer<typeof AccountInvitationInfoDtoSchema>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AccountInvitationInfoSchema = exports.AccountInvitationDtoSchema = void 0;
3
+ exports.AccountInvitationInfoDtoSchema = exports.AccountInvitationDtoSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  exports.AccountInvitationDtoSchema = zod_1.z.object({
6
6
  id: zod_1.z.uuid(),
@@ -9,7 +9,7 @@ exports.AccountInvitationDtoSchema = zod_1.z.object({
9
9
  createdAt: zod_1.z.date(),
10
10
  updatedAt: zod_1.z.date(),
11
11
  });
12
- exports.AccountInvitationInfoSchema = zod_1.z.object({
12
+ exports.AccountInvitationInfoDtoSchema = zod_1.z.object({
13
13
  id: zod_1.z.uuid(),
14
14
  accountName: zod_1.z.string(),
15
15
  invitorUid: zod_1.z.uuid(),
@@ -1 +1 @@
1
- {"version":3,"file":"account-invitation.dto.js","sourceRoot":"","sources":["../../../src/model/account-invitation.dto.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IACjD,EAAE,EAAE,OAAC,CAAC,IAAI,EAAE;IACZ,UAAU,EAAE,OAAC,CAAC,IAAI,EAAE;IACpB,UAAU,EAAE,OAAC,CAAC,IAAI,EAAE;IACpB,SAAS,EAAE,OAAC,CAAC,IAAI,EAAE;IACnB,SAAS,EAAE,OAAC,CAAC,IAAI,EAAE;CACpB,CAAC,CAAC;AAIU,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,EAAE,EAAE,OAAC,CAAC,IAAI,EAAE;IACZ,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,OAAC,CAAC,IAAI,EAAE;IACpB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;IAC5B,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;CAC5B,CAAC,CAAC"}
1
+ {"version":3,"file":"account-invitation.dto.js","sourceRoot":"","sources":["../../../src/model/account-invitation.dto.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IACjD,EAAE,EAAE,OAAC,CAAC,IAAI,EAAE;IACZ,UAAU,EAAE,OAAC,CAAC,IAAI,EAAE;IACpB,UAAU,EAAE,OAAC,CAAC,IAAI,EAAE;IACpB,SAAS,EAAE,OAAC,CAAC,IAAI,EAAE;IACnB,SAAS,EAAE,OAAC,CAAC,IAAI,EAAE;CACpB,CAAC,CAAC;AAIU,QAAA,8BAA8B,GAAG,OAAC,CAAC,MAAM,CAAC;IACrD,EAAE,EAAE,OAAC,CAAC,IAAI,EAAE;IACZ,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,UAAU,EAAE,OAAC,CAAC,IAAI,EAAE;IACpB,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE;IAC5B,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE;CAC5B,CAAC,CAAC"}
@@ -14,6 +14,17 @@ export declare const CreateAccountUserDtoSchema: z.ZodObject<{
14
14
  recaptchaToken: z.ZodString;
15
15
  }, z.core.$strip>;
16
16
  export type CreateAccountUserDto = z.infer<typeof CreateAccountUserDtoSchema>;
17
+ export declare const RegisterByInvitationDtoSchema: z.ZodObject<{
18
+ recaptchaToken: z.ZodString;
19
+ firstName: z.ZodString;
20
+ lastName: z.ZodString;
21
+ email: z.ZodEmail;
22
+ username: z.ZodString;
23
+ password: z.ZodString;
24
+ birthdate: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<Date | undefined, string | undefined>>;
25
+ invitationId: z.ZodUUID;
26
+ }, z.core.$strip>;
27
+ export type RegisterByInvitationDto = z.infer<typeof RegisterByInvitationDtoSchema>;
17
28
  export declare const CreateAccountUserResponseSchema: z.ZodObject<{
18
29
  account: z.ZodObject<{
19
30
  id: z.ZodUUID;
@@ -1,9 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LoginResponseSchema = exports.LoginDtoSchema = exports.CreateAccountUserResponseSchema = exports.CreateAccountUserDtoSchema = void 0;
3
+ exports.LoginResponseSchema = exports.LoginDtoSchema = exports.CreateAccountUserResponseSchema = exports.RegisterByInvitationDtoSchema = exports.CreateAccountUserDtoSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const model_1 = require("./model");
6
6
  const utility_1 = require("./utility");
7
+ const UserRegistrationSchema = zod_1.z.object({
8
+ firstName: zod_1.z
9
+ .string()
10
+ .min(1, 'First name is required')
11
+ .max(255, 'First name must be less than 255 characters'),
12
+ lastName: zod_1.z
13
+ .string()
14
+ .min(1, 'Last name is required')
15
+ .max(255, 'Last name must be less than 255 characters'),
16
+ email: zod_1.z
17
+ .email('Invalid email format')
18
+ .max(255, 'Email must be less than 255 characters'),
19
+ username: zod_1.z
20
+ .string()
21
+ .min(1, 'Username is required')
22
+ .max(255, 'Username must be less than 255 characters'),
23
+ password: zod_1.z
24
+ .string()
25
+ .min(6, 'Password must be at least 6 characters')
26
+ .max(255, 'Password must be less than 255 characters'),
27
+ birthdate: zod_1.z
28
+ .string()
29
+ .optional()
30
+ .transform((val) => (val ? new Date(val) : undefined)),
31
+ });
32
+ const RecaptchaTokenSchema = zod_1.z.string().min(1, 'reCAPTCHA token is required');
7
33
  exports.CreateAccountUserDtoSchema = zod_1.z.object({
8
34
  account: zod_1.z.object({
9
35
  name: zod_1.z
@@ -11,35 +37,10 @@ exports.CreateAccountUserDtoSchema = zod_1.z.object({
11
37
  .min(1, 'Account name is required')
12
38
  .max(255, 'Account name must be less than 255 characters'),
13
39
  }),
14
- user: zod_1.z.object({
15
- firstName: zod_1.z
16
- .string()
17
- .min(1, 'First name is required')
18
- .max(255, 'First name must be less than 255 characters'),
19
- lastName: zod_1.z
20
- .string()
21
- .min(1, 'Last name is required')
22
- .max(255, 'Last name must be less than 255 characters'),
23
- email: zod_1.z
24
- .email('Invalid email format')
25
- .max(255, 'Email must be less than 255 characters'),
26
- username: zod_1.z
27
- .string()
28
- .min(1, 'Username is required')
29
- .max(255, 'Username must be less than 255 characters'),
30
- password: zod_1.z
31
- .string()
32
- .min(6, 'Password must be at least 6 characters')
33
- .max(255, 'Password must be less than 255 characters'),
34
- birthdate: zod_1.z
35
- .string()
36
- .optional()
37
- .transform((val) => (val ? new Date(val) : undefined)),
38
- }),
39
- recaptchaToken: zod_1.z
40
- .string()
41
- .min(1, 'reCAPTCHA token is required'),
40
+ user: UserRegistrationSchema,
41
+ recaptchaToken: RecaptchaTokenSchema,
42
42
  });
43
+ exports.RegisterByInvitationDtoSchema = zod_1.z.object(Object.assign(Object.assign({ invitationId: zod_1.z.uuid() }, UserRegistrationSchema.shape), { recaptchaToken: RecaptchaTokenSchema }));
43
44
  exports.CreateAccountUserResponseSchema = zod_1.z.object({
44
45
  account: zod_1.z.object({
45
46
  id: zod_1.z.uuid(),
@@ -67,9 +68,7 @@ exports.LoginDtoSchema = zod_1.z.object({
67
68
  .min(1, 'Email or username is required')
68
69
  .max(255, 'Email or username must be less than 255 characters'),
69
70
  password: zod_1.z.string('Password must be provided'),
70
- recaptchaToken: zod_1.z
71
- .string()
72
- .min(1, 'reCAPTCHA token is required'),
71
+ recaptchaToken: RecaptchaTokenSchema,
73
72
  });
74
73
  exports.LoginResponseSchema = zod_1.z.object({
75
74
  token: zod_1.z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"auth.dto.js","sourceRoot":"","sources":["../../../src/model/auth.dto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.dto.js","sourceRoot":"","sources":["../../../src/model/auth.dto.ts"],"names":[],"mappings":"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"}
@@ -101,7 +101,7 @@ describe('AccountInvitationDto Schemas', () => {
101
101
  }
102
102
  });
103
103
  });
104
- describe('AccountInvitationInfoSchema', () => {
104
+ describe('AccountInvitationInfoDtoSchema', () => {
105
105
  const validUuid = '550e8400-e29b-41d4-a716-446655440000';
106
106
  it('should validate a valid account invitation info', () => {
107
107
  const validInfo = {
@@ -111,7 +111,7 @@ describe('AccountInvitationDto Schemas', () => {
111
111
  invitorFirstName: 'John',
112
112
  invitorLastName: 'Doe',
113
113
  };
114
- const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(validInfo);
114
+ const result = account_invitation_dto_1.AccountInvitationInfoDtoSchema.safeParse(validInfo);
115
115
  expect(result.success).toBe(true);
116
116
  if (result.success) {
117
117
  expect(result.data.id).toBe(validUuid);
@@ -129,7 +129,7 @@ describe('AccountInvitationDto Schemas', () => {
129
129
  invitorFirstName: 'John',
130
130
  invitorLastName: 'Doe',
131
131
  };
132
- const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(invalidInfo);
132
+ const result = account_invitation_dto_1.AccountInvitationInfoDtoSchema.safeParse(invalidInfo);
133
133
  expect(result.success).toBe(false);
134
134
  if (!result.success) {
135
135
  expect(result.error.issues[0].path).toEqual(['id']);
@@ -143,7 +143,7 @@ describe('AccountInvitationDto Schemas', () => {
143
143
  invitorFirstName: 'John',
144
144
  invitorLastName: 'Doe',
145
145
  };
146
- const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(invalidInfo);
146
+ const result = account_invitation_dto_1.AccountInvitationInfoDtoSchema.safeParse(invalidInfo);
147
147
  expect(result.success).toBe(false);
148
148
  if (!result.success) {
149
149
  expect(result.error.issues[0].path).toEqual(['invitorUid']);
@@ -157,7 +157,7 @@ describe('AccountInvitationDto Schemas', () => {
157
157
  invitorFirstName: 'John',
158
158
  invitorLastName: 'Doe',
159
159
  };
160
- const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(invalidInfo);
160
+ const result = account_invitation_dto_1.AccountInvitationInfoDtoSchema.safeParse(invalidInfo);
161
161
  expect(result.success).toBe(false);
162
162
  if (!result.success) {
163
163
  expect(result.error.issues[0].path).toEqual(['accountName']);
@@ -172,7 +172,7 @@ describe('AccountInvitationDto Schemas', () => {
172
172
  invitorFirstName: 123,
173
173
  invitorLastName: 'Doe',
174
174
  };
175
- const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(invalidInfo);
175
+ const result = account_invitation_dto_1.AccountInvitationInfoDtoSchema.safeParse(invalidInfo);
176
176
  expect(result.success).toBe(false);
177
177
  if (!result.success) {
178
178
  expect(result.error.issues[0].path).toEqual(['invitorFirstName']);
@@ -187,7 +187,7 @@ describe('AccountInvitationDto Schemas', () => {
187
187
  invitorFirstName: 'John',
188
188
  invitorLastName: 456,
189
189
  };
190
- const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(invalidInfo);
190
+ const result = account_invitation_dto_1.AccountInvitationInfoDtoSchema.safeParse(invalidInfo);
191
191
  expect(result.success).toBe(false);
192
192
  if (!result.success) {
193
193
  expect(result.error.issues[0].path).toEqual(['invitorLastName']);
@@ -196,7 +196,7 @@ describe('AccountInvitationDto Schemas', () => {
196
196
  });
197
197
  it('should reject missing required fields', () => {
198
198
  const invalidInfo = {};
199
- const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(invalidInfo);
199
+ const result = account_invitation_dto_1.AccountInvitationInfoDtoSchema.safeParse(invalidInfo);
200
200
  expect(result.success).toBe(false);
201
201
  if (!result.success) {
202
202
  expect(result.error.issues.length).toBeGreaterThan(0);
@@ -210,7 +210,7 @@ describe('AccountInvitationDto Schemas', () => {
210
210
  invitorFirstName: "Jean-Pierre",
211
211
  invitorLastName: "O'Brien",
212
212
  };
213
- const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(validInfo);
213
+ const result = account_invitation_dto_1.AccountInvitationInfoDtoSchema.safeParse(validInfo);
214
214
  expect(result.success).toBe(true);
215
215
  if (result.success) {
216
216
  expect(result.data.accountName).toBe("O'Connor-Smith & Co.");
@@ -226,7 +226,7 @@ describe('AccountInvitationDto Schemas', () => {
226
226
  invitorFirstName: 'José',
227
227
  invitorLastName: 'Müller',
228
228
  };
229
- const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(validInfo);
229
+ const result = account_invitation_dto_1.AccountInvitationInfoDtoSchema.safeParse(validInfo);
230
230
  expect(result.success).toBe(true);
231
231
  if (result.success) {
232
232
  expect(result.data.accountName).toBe('账户名称');
@@ -1 +1 @@
1
- {"version":3,"file":"account-invitation.dto.spec.js","sourceRoot":"","sources":["../../../src/tests/account-invitation.dto.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account-invitation.dto.spec.js","sourceRoot":"","sources":["../../../src/tests/account-invitation.dto.spec.ts"],"names":[],"mappings":"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"}
@@ -364,5 +364,270 @@ describe('AssignmentDto Schemas', () => {
364
364
  });
365
365
  });
366
366
  });
367
+ describe('UpdateAssignmentDtoSchema', () => {
368
+ const validUuid = '123e4567-e89b-12d3-a456-426614174000';
369
+ it('should validate update DTO with assigneeId only', () => {
370
+ const updateDto = {
371
+ assigneeId: validUuid,
372
+ };
373
+ const result = assignment_dto_1.UpdateAssignmentDtoSchema.safeParse(updateDto);
374
+ expect(result.success).toBe(true);
375
+ if (result.success) {
376
+ expect(result.data.assigneeId).toBe(validUuid);
377
+ }
378
+ });
379
+ it('should validate update DTO with title only', () => {
380
+ const updateDto = {
381
+ title: 'Updated Title',
382
+ };
383
+ const result = assignment_dto_1.UpdateAssignmentDtoSchema.safeParse(updateDto);
384
+ expect(result.success).toBe(true);
385
+ if (result.success) {
386
+ expect(result.data.title).toBe('Updated Title');
387
+ }
388
+ });
389
+ it('should validate update DTO with assignment only', () => {
390
+ var _a;
391
+ const updateDto = {
392
+ assignment: {
393
+ title: 'Test Assignment',
394
+ content: 'Test content',
395
+ questions: [
396
+ {
397
+ id: 'q1',
398
+ content: 'Question 1?',
399
+ answers: ['A', 'B', 'C', 'D'],
400
+ correctAnswerIndex: 0,
401
+ answerExplanation: 'A is correct',
402
+ },
403
+ ],
404
+ },
405
+ };
406
+ const result = assignment_dto_1.UpdateAssignmentDtoSchema.safeParse(updateDto);
407
+ expect(result.success).toBe(true);
408
+ if (result.success) {
409
+ expect((_a = result.data.assignment) === null || _a === void 0 ? void 0 : _a.title).toBe('Test Assignment');
410
+ }
411
+ });
412
+ it('should validate update DTO with all fields', () => {
413
+ var _a;
414
+ const updateDto = {
415
+ assigneeId: validUuid,
416
+ title: 'Updated Title',
417
+ assignment: {
418
+ title: 'Test Assignment',
419
+ content: 'Test content',
420
+ questions: [],
421
+ },
422
+ };
423
+ const result = assignment_dto_1.UpdateAssignmentDtoSchema.safeParse(updateDto);
424
+ expect(result.success).toBe(true);
425
+ if (result.success) {
426
+ expect(result.data.assigneeId).toBe(validUuid);
427
+ expect(result.data.title).toBe('Updated Title');
428
+ expect((_a = result.data.assignment) === null || _a === void 0 ? void 0 : _a.title).toBe('Test Assignment');
429
+ }
430
+ });
431
+ it('should reject empty update DTO', () => {
432
+ const updateDto = {};
433
+ const result = assignment_dto_1.UpdateAssignmentDtoSchema.safeParse(updateDto);
434
+ expect(result.success).toBe(false);
435
+ if (!result.success) {
436
+ expect(result.error.issues[0].message).toBe('At least one field must be provided for update');
437
+ }
438
+ });
439
+ it('should reject invalid assigneeId UUID', () => {
440
+ const updateDto = {
441
+ assigneeId: 'invalid-uuid',
442
+ };
443
+ const result = assignment_dto_1.UpdateAssignmentDtoSchema.safeParse(updateDto);
444
+ expect(result.success).toBe(false);
445
+ if (!result.success) {
446
+ expect(result.error.issues[0].path).toEqual(['assigneeId']);
447
+ expect(result.error.issues[0].message).toBe('Invalid assignee ID format');
448
+ }
449
+ });
450
+ it('should reject empty title', () => {
451
+ const updateDto = {
452
+ title: '',
453
+ };
454
+ const result = assignment_dto_1.UpdateAssignmentDtoSchema.safeParse(updateDto);
455
+ expect(result.success).toBe(false);
456
+ if (!result.success) {
457
+ expect(result.error.issues[0].path).toEqual(['title']);
458
+ expect(result.error.issues[0].message).toBe('Title is required');
459
+ }
460
+ });
461
+ it('should reject title longer than 255 characters', () => {
462
+ const updateDto = {
463
+ title: 'A'.repeat(256),
464
+ };
465
+ const result = assignment_dto_1.UpdateAssignmentDtoSchema.safeParse(updateDto);
466
+ expect(result.success).toBe(false);
467
+ if (!result.success) {
468
+ expect(result.error.issues[0].path).toEqual(['title']);
469
+ expect(result.error.issues[0].message).toBe('Title must be less than 255 characters');
470
+ }
471
+ });
472
+ it('should accept title with exactly 255 characters', () => {
473
+ const updateDto = {
474
+ title: 'A'.repeat(255),
475
+ };
476
+ const result = assignment_dto_1.UpdateAssignmentDtoSchema.safeParse(updateDto);
477
+ expect(result.success).toBe(true);
478
+ if (result.success) {
479
+ expect(result.data.title).toBe('A'.repeat(255));
480
+ }
481
+ });
482
+ });
483
+ describe('AssignmentAnswerDtoSchema', () => {
484
+ it('should validate valid assignment answers', () => {
485
+ const validAnswers = {
486
+ answers: [
487
+ { questionId: 'q1', answerIndex: 0 },
488
+ { questionId: 'q2', answerIndex: 1 },
489
+ ],
490
+ };
491
+ const result = assignment_dto_1.AssignmentAnswerDtoSchema.safeParse(validAnswers);
492
+ expect(result.success).toBe(true);
493
+ if (result.success) {
494
+ expect(result.data.answers).toHaveLength(2);
495
+ expect(result.data.answers[0].questionId).toBe('q1');
496
+ expect(result.data.answers[1].answerIndex).toBe(1);
497
+ }
498
+ });
499
+ it('should reject empty answers array', () => {
500
+ const emptyAnswers = {
501
+ answers: [],
502
+ };
503
+ const result = assignment_dto_1.AssignmentAnswerDtoSchema.safeParse(emptyAnswers);
504
+ expect(result.success).toBe(false);
505
+ if (!result.success) {
506
+ expect(result.error.issues[0].path).toEqual(['answers']);
507
+ expect(result.error.issues[0].message).toBe('At least one answer is required');
508
+ }
509
+ });
510
+ it('should reject missing answers field', () => {
511
+ const missingAnswers = {};
512
+ const result = assignment_dto_1.AssignmentAnswerDtoSchema.safeParse(missingAnswers);
513
+ expect(result.success).toBe(false);
514
+ if (!result.success) {
515
+ expect(result.error.issues[0].path).toEqual(['answers']);
516
+ }
517
+ });
518
+ it('should validate single answer', () => {
519
+ const singleAnswer = {
520
+ answers: [{ questionId: 'q1', answerIndex: 2 }],
521
+ };
522
+ const result = assignment_dto_1.AssignmentAnswerDtoSchema.safeParse(singleAnswer);
523
+ expect(result.success).toBe(true);
524
+ if (result.success) {
525
+ expect(result.data.answers).toHaveLength(1);
526
+ }
527
+ });
528
+ });
529
+ describe('PaginatedAssignmentsDtoSchema', () => {
530
+ const validAssignment = {
531
+ id: '123e4567-e89b-12d3-a456-426614174000',
532
+ accountId: '123e4567-e89b-12d3-a456-426614174001',
533
+ createdByUserId: '123e4567-e89b-12d3-a456-426614174002',
534
+ assigneeId: '123e4567-e89b-12d3-a456-426614174003',
535
+ title: 'Test Assignment',
536
+ prompt: 'Test prompt',
537
+ assignment: {
538
+ title: 'Test',
539
+ content: 'Content',
540
+ questions: [],
541
+ },
542
+ answers: null,
543
+ submittedAt: null,
544
+ status: 'active',
545
+ createdAt: new Date('2024-01-01'),
546
+ updatedAt: new Date('2024-01-01'),
547
+ };
548
+ it('should validate valid paginated assignments', () => {
549
+ const paginatedDto = {
550
+ assignments: [validAssignment],
551
+ pagination: {
552
+ page: 1,
553
+ limit: 10,
554
+ },
555
+ };
556
+ const result = assignment_dto_1.PaginatedAssignmentsDtoSchema.safeParse(paginatedDto);
557
+ expect(result.success).toBe(true);
558
+ if (result.success) {
559
+ expect(result.data.assignments).toHaveLength(1);
560
+ expect(result.data.pagination.page).toBe(1);
561
+ expect(result.data.pagination.limit).toBe(10);
562
+ }
563
+ });
564
+ it('should validate empty assignments array', () => {
565
+ const emptyPaginatedDto = {
566
+ assignments: [],
567
+ pagination: {
568
+ page: 1,
569
+ limit: 10,
570
+ },
571
+ };
572
+ const result = assignment_dto_1.PaginatedAssignmentsDtoSchema.safeParse(emptyPaginatedDto);
573
+ expect(result.success).toBe(true);
574
+ if (result.success) {
575
+ expect(result.data.assignments).toHaveLength(0);
576
+ }
577
+ });
578
+ it('should reject missing pagination', () => {
579
+ const missingPagination = {
580
+ assignments: [],
581
+ };
582
+ const result = assignment_dto_1.PaginatedAssignmentsDtoSchema.safeParse(missingPagination);
583
+ expect(result.success).toBe(false);
584
+ if (!result.success) {
585
+ expect(result.error.issues[0].path).toEqual(['pagination']);
586
+ }
587
+ });
588
+ it('should reject missing assignments', () => {
589
+ const missingAssignments = {
590
+ pagination: {
591
+ page: 1,
592
+ limit: 10,
593
+ },
594
+ };
595
+ const result = assignment_dto_1.PaginatedAssignmentsDtoSchema.safeParse(missingAssignments);
596
+ expect(result.success).toBe(false);
597
+ if (!result.success) {
598
+ expect(result.error.issues[0].path).toEqual(['assignments']);
599
+ }
600
+ });
601
+ it('should reject invalid assignment in array', () => {
602
+ const invalidPaginatedDto = {
603
+ assignments: [{ id: 'invalid' }],
604
+ pagination: {
605
+ page: 1,
606
+ limit: 10,
607
+ },
608
+ };
609
+ const result = assignment_dto_1.PaginatedAssignmentsDtoSchema.safeParse(invalidPaginatedDto);
610
+ expect(result.success).toBe(false);
611
+ });
612
+ it('should validate multiple assignments', () => {
613
+ const multiplePaginatedDto = {
614
+ assignments: [
615
+ validAssignment,
616
+ Object.assign(Object.assign({}, validAssignment), { id: '123e4567-e89b-12d3-a456-426614174999' }),
617
+ ],
618
+ pagination: {
619
+ page: 2,
620
+ limit: 20,
621
+ },
622
+ };
623
+ const result = assignment_dto_1.PaginatedAssignmentsDtoSchema.safeParse(multiplePaginatedDto);
624
+ expect(result.success).toBe(true);
625
+ if (result.success) {
626
+ expect(result.data.assignments).toHaveLength(2);
627
+ expect(result.data.pagination.page).toBe(2);
628
+ expect(result.data.pagination.limit).toBe(20);
629
+ }
630
+ });
631
+ });
367
632
  });
368
633
  //# sourceMappingURL=assignment.dto.spec.js.map