@kidemy/lib 0.0.2 → 1.0.1

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.
@@ -1,7 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const auth_dto_1 = require("../model/auth.dto");
4
- const model_1 = require("../model/model");
1
+ import { CreateAccountUserDtoSchema, CreateAccountUserResponseSchema, LoginDtoSchema, LoginResponseSchema, } from '../model/auth.dto';
2
+ import { ActivationStatus, UserRole } from '../model/model';
5
3
  describe('AuthDto Schemas', () => {
6
4
  describe('CreateAccountUserDtoSchema', () => {
7
5
  const validCreateAccountUserDto = {
@@ -18,7 +16,7 @@ describe('AuthDto Schemas', () => {
18
16
  },
19
17
  };
20
18
  it('should validate a valid create account user DTO', () => {
21
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(validCreateAccountUserDto);
19
+ const result = CreateAccountUserDtoSchema.safeParse(validCreateAccountUserDto);
22
20
  expect(result.success).toBe(true);
23
21
  if (result.success) {
24
22
  expect(result.data).toEqual({
@@ -43,7 +41,7 @@ describe('AuthDto Schemas', () => {
43
41
  password: 'password123',
44
42
  },
45
43
  };
46
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(dtoWithoutBirthdate);
44
+ const result = CreateAccountUserDtoSchema.safeParse(dtoWithoutBirthdate);
47
45
  expect(result.success).toBe(true);
48
46
  if (result.success) {
49
47
  expect(result.data.user.birthdate).toBeUndefined();
@@ -56,7 +54,7 @@ describe('AuthDto Schemas', () => {
56
54
  name: '',
57
55
  },
58
56
  };
59
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
57
+ const result = CreateAccountUserDtoSchema.safeParse(invalidDto);
60
58
  expect(result.success).toBe(false);
61
59
  if (!result.success) {
62
60
  expect(result.error.issues[0].path).toEqual(['account', 'name']);
@@ -70,7 +68,7 @@ describe('AuthDto Schemas', () => {
70
68
  name: 'A'.repeat(256),
71
69
  },
72
70
  };
73
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
71
+ const result = CreateAccountUserDtoSchema.safeParse(invalidDto);
74
72
  expect(result.success).toBe(false);
75
73
  if (!result.success) {
76
74
  expect(result.error.issues[0].path).toEqual(['account', 'name']);
@@ -84,7 +82,7 @@ describe('AuthDto Schemas', () => {
84
82
  name: 'A'.repeat(255),
85
83
  },
86
84
  };
87
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(validDto);
85
+ const result = CreateAccountUserDtoSchema.safeParse(validDto);
88
86
  expect(result.success).toBe(true);
89
87
  if (result.success) {
90
88
  expect(result.data.account.name).toBe('A'.repeat(255));
@@ -98,7 +96,7 @@ describe('AuthDto Schemas', () => {
98
96
  firstName: '',
99
97
  },
100
98
  };
101
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
99
+ const result = CreateAccountUserDtoSchema.safeParse(invalidDto);
102
100
  expect(result.success).toBe(false);
103
101
  if (!result.success) {
104
102
  expect(result.error.issues[0].path).toEqual(['user', 'firstName']);
@@ -113,7 +111,7 @@ describe('AuthDto Schemas', () => {
113
111
  firstName: 'A'.repeat(256),
114
112
  },
115
113
  };
116
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
114
+ const result = CreateAccountUserDtoSchema.safeParse(invalidDto);
117
115
  expect(result.success).toBe(false);
118
116
  if (!result.success) {
119
117
  expect(result.error.issues[0].path).toEqual(['user', 'firstName']);
@@ -128,7 +126,7 @@ describe('AuthDto Schemas', () => {
128
126
  lastName: '',
129
127
  },
130
128
  };
131
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
129
+ const result = CreateAccountUserDtoSchema.safeParse(invalidDto);
132
130
  expect(result.success).toBe(false);
133
131
  if (!result.success) {
134
132
  expect(result.error.issues[0].path).toEqual(['user', 'lastName']);
@@ -143,7 +141,7 @@ describe('AuthDto Schemas', () => {
143
141
  lastName: 'A'.repeat(256),
144
142
  },
145
143
  };
146
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
144
+ const result = CreateAccountUserDtoSchema.safeParse(invalidDto);
147
145
  expect(result.success).toBe(false);
148
146
  if (!result.success) {
149
147
  expect(result.error.issues[0].path).toEqual(['user', 'lastName']);
@@ -158,7 +156,7 @@ describe('AuthDto Schemas', () => {
158
156
  email: 'invalid-email',
159
157
  },
160
158
  };
161
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
159
+ const result = CreateAccountUserDtoSchema.safeParse(invalidDto);
162
160
  expect(result.success).toBe(false);
163
161
  if (!result.success) {
164
162
  expect(result.error.issues[0].path).toEqual(['user', 'email']);
@@ -173,7 +171,7 @@ describe('AuthDto Schemas', () => {
173
171
  email: 'a'.repeat(250) + '@example.com',
174
172
  },
175
173
  };
176
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
174
+ const result = CreateAccountUserDtoSchema.safeParse(invalidDto);
177
175
  expect(result.success).toBe(false);
178
176
  if (!result.success) {
179
177
  expect(result.error.issues[0].path).toEqual(['user', 'email']);
@@ -188,7 +186,7 @@ describe('AuthDto Schemas', () => {
188
186
  password: '12345',
189
187
  },
190
188
  };
191
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
189
+ const result = CreateAccountUserDtoSchema.safeParse(invalidDto);
192
190
  expect(result.success).toBe(false);
193
191
  if (!result.success) {
194
192
  expect(result.error.issues[0].path).toEqual(['user', 'password']);
@@ -203,7 +201,7 @@ describe('AuthDto Schemas', () => {
203
201
  password: 'A'.repeat(256),
204
202
  },
205
203
  };
206
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
204
+ const result = CreateAccountUserDtoSchema.safeParse(invalidDto);
207
205
  expect(result.success).toBe(false);
208
206
  if (!result.success) {
209
207
  expect(result.error.issues[0].path).toEqual(['user', 'password']);
@@ -218,7 +216,7 @@ describe('AuthDto Schemas', () => {
218
216
  password: '12345678',
219
217
  },
220
218
  };
221
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(validDto);
219
+ const result = CreateAccountUserDtoSchema.safeParse(validDto);
222
220
  expect(result.success).toBe(true);
223
221
  if (result.success) {
224
222
  expect(result.data.user.password).toBe('12345678');
@@ -232,7 +230,7 @@ describe('AuthDto Schemas', () => {
232
230
  password: 'A'.repeat(255),
233
231
  },
234
232
  };
235
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(validDto);
233
+ const result = CreateAccountUserDtoSchema.safeParse(validDto);
236
234
  expect(result.success).toBe(true);
237
235
  if (result.success) {
238
236
  expect(result.data.user.password).toBe('A'.repeat(255));
@@ -247,7 +245,7 @@ describe('AuthDto Schemas', () => {
247
245
  birthdate: '2020-12-25',
248
246
  },
249
247
  };
250
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(dtoWithBirthdate);
248
+ const result = CreateAccountUserDtoSchema.safeParse(dtoWithBirthdate);
251
249
  expect(result.success).toBe(true);
252
250
  if (result.success) {
253
251
  expect(result.data.user.birthdate).toBeInstanceOf(Date);
@@ -270,7 +268,7 @@ describe('AuthDto Schemas', () => {
270
268
  birthdate: '1990-01-01',
271
269
  },
272
270
  };
273
- const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(specialCharDto);
271
+ const result = CreateAccountUserDtoSchema.safeParse(specialCharDto);
274
272
  expect(result.success).toBe(true);
275
273
  if (result.success) {
276
274
  expect(result.data.account.name).toBe('José Account');
@@ -284,7 +282,7 @@ describe('AuthDto Schemas', () => {
284
282
  account: {
285
283
  id: '123e4567-e89b-12d3-a456-426614174000',
286
284
  name: 'Test Account',
287
- status: model_1.ActivationStatus.ACTIVE,
285
+ status: ActivationStatus.ACTIVE,
288
286
  createdAt: new Date('2024-01-01T00:00:00Z'),
289
287
  updatedAt: new Date('2024-01-01T00:00:00Z'),
290
288
  },
@@ -295,14 +293,14 @@ describe('AuthDto Schemas', () => {
295
293
  lastName: 'Doe',
296
294
  email: 'john.doe@example.com',
297
295
  username: 'johndoe',
298
- role: model_1.UserRole.OWNER,
299
- status: model_1.ActivationStatus.ACTIVE,
296
+ role: UserRole.OWNER,
297
+ status: ActivationStatus.ACTIVE,
300
298
  createdAt: new Date('2024-01-01T00:00:00Z'),
301
299
  updatedAt: new Date('2024-01-01T00:00:00Z'),
302
300
  },
303
301
  };
304
302
  it('should validate a valid create account user response', () => {
305
- const result = auth_dto_1.CreateAccountUserResponseSchema.safeParse(validResponse);
303
+ const result = CreateAccountUserResponseSchema.safeParse(validResponse);
306
304
  expect(result.success).toBe(true);
307
305
  if (result.success) {
308
306
  expect(result.data).toEqual(validResponse);
@@ -316,7 +314,7 @@ describe('AuthDto Schemas', () => {
316
314
  id: 'invalid-uuid',
317
315
  },
318
316
  };
319
- const result = auth_dto_1.CreateAccountUserResponseSchema.safeParse(invalidResponse);
317
+ const result = CreateAccountUserResponseSchema.safeParse(invalidResponse);
320
318
  expect(result.success).toBe(false);
321
319
  if (!result.success) {
322
320
  expect(result.error.issues[0].path).toEqual(['account', 'id']);
@@ -331,7 +329,7 @@ describe('AuthDto Schemas', () => {
331
329
  id: 'invalid-uuid',
332
330
  },
333
331
  };
334
- const result = auth_dto_1.CreateAccountUserResponseSchema.safeParse(invalidResponse);
332
+ const result = CreateAccountUserResponseSchema.safeParse(invalidResponse);
335
333
  expect(result.success).toBe(false);
336
334
  if (!result.success) {
337
335
  expect(result.error.issues[0].path).toEqual(['user', 'id']);
@@ -346,7 +344,7 @@ describe('AuthDto Schemas', () => {
346
344
  accountId: 'invalid-uuid',
347
345
  },
348
346
  };
349
- const result = auth_dto_1.CreateAccountUserResponseSchema.safeParse(invalidResponse);
347
+ const result = CreateAccountUserResponseSchema.safeParse(invalidResponse);
350
348
  expect(result.success).toBe(false);
351
349
  if (!result.success) {
352
350
  expect(result.error.issues[0].path).toEqual(['user', 'accountId']);
@@ -354,7 +352,7 @@ describe('AuthDto Schemas', () => {
354
352
  }
355
353
  });
356
354
  it('should validate all valid account statuses', () => {
357
- const statuses = [model_1.ActivationStatus.ACTIVE, model_1.ActivationStatus.DISABLED];
355
+ const statuses = [ActivationStatus.ACTIVE, ActivationStatus.DISABLED];
358
356
  statuses.forEach((status) => {
359
357
  const responseWithStatus = {
360
358
  ...validResponse,
@@ -363,7 +361,7 @@ describe('AuthDto Schemas', () => {
363
361
  status,
364
362
  },
365
363
  };
366
- const result = auth_dto_1.CreateAccountUserResponseSchema.safeParse(responseWithStatus);
364
+ const result = CreateAccountUserResponseSchema.safeParse(responseWithStatus);
367
365
  expect(result.success).toBe(true);
368
366
  if (result.success) {
369
367
  expect(result.data.account.status).toBe(status);
@@ -371,7 +369,7 @@ describe('AuthDto Schemas', () => {
371
369
  });
372
370
  });
373
371
  it('should validate all valid user roles', () => {
374
- const roles = [model_1.UserRole.OWNER, model_1.UserRole.PARENT, model_1.UserRole.CHILD];
372
+ const roles = [UserRole.OWNER, UserRole.PARENT, UserRole.CHILD];
375
373
  roles.forEach((role) => {
376
374
  const responseWithRole = {
377
375
  ...validResponse,
@@ -380,7 +378,7 @@ describe('AuthDto Schemas', () => {
380
378
  role,
381
379
  },
382
380
  };
383
- const result = auth_dto_1.CreateAccountUserResponseSchema.safeParse(responseWithRole);
381
+ const result = CreateAccountUserResponseSchema.safeParse(responseWithRole);
384
382
  expect(result.success).toBe(true);
385
383
  if (result.success) {
386
384
  expect(result.data.user.role).toBe(role);
@@ -394,7 +392,7 @@ describe('AuthDto Schemas', () => {
394
392
  password: 'password123',
395
393
  };
396
394
  it('should validate a valid login DTO', () => {
397
- const result = auth_dto_1.LoginDtoSchema.safeParse(validLoginDto);
395
+ const result = LoginDtoSchema.safeParse(validLoginDto);
398
396
  expect(result.success).toBe(true);
399
397
  if (result.success) {
400
398
  expect(result.data).toEqual(validLoginDto);
@@ -405,7 +403,7 @@ describe('AuthDto Schemas', () => {
405
403
  ...validLoginDto,
406
404
  emailOrUsername: 'invalid-email',
407
405
  };
408
- const result = auth_dto_1.LoginDtoSchema.safeParse(dtoWithUsername);
406
+ const result = LoginDtoSchema.safeParse(dtoWithUsername);
409
407
  expect(result.success).toBe(true);
410
408
  if (result.success) {
411
409
  expect(result.data.emailOrUsername).toBe('invalid-email');
@@ -415,7 +413,7 @@ describe('AuthDto Schemas', () => {
415
413
  const invalidDto = {
416
414
  password: 'password123',
417
415
  };
418
- const result = auth_dto_1.LoginDtoSchema.safeParse(invalidDto);
416
+ const result = LoginDtoSchema.safeParse(invalidDto);
419
417
  expect(result.success).toBe(false);
420
418
  if (!result.success) {
421
419
  expect(result.error.issues[0].path).toEqual(['emailOrUsername']);
@@ -426,7 +424,7 @@ describe('AuthDto Schemas', () => {
426
424
  const invalidDto = {
427
425
  emailOrUsername: 'john.doe@example.com',
428
426
  };
429
- const result = auth_dto_1.LoginDtoSchema.safeParse(invalidDto);
427
+ const result = LoginDtoSchema.safeParse(invalidDto);
430
428
  expect(result.success).toBe(false);
431
429
  if (!result.success) {
432
430
  expect(result.error.issues[0].path).toEqual(['password']);
@@ -438,7 +436,7 @@ describe('AuthDto Schemas', () => {
438
436
  emailOrUsername: 'john.doe@example.com',
439
437
  password: '',
440
438
  };
441
- const result = auth_dto_1.LoginDtoSchema.safeParse(dtoWithEmptyPassword);
439
+ const result = LoginDtoSchema.safeParse(dtoWithEmptyPassword);
442
440
  expect(result.success).toBe(true);
443
441
  if (result.success) {
444
442
  expect(result.data.password).toBe('');
@@ -449,7 +447,7 @@ describe('AuthDto Schemas', () => {
449
447
  emailOrUsername: 'josé.óconnor+test@example.com',
450
448
  password: 'password123',
451
449
  };
452
- const result = auth_dto_1.LoginDtoSchema.safeParse(specialEmailDto);
450
+ const result = LoginDtoSchema.safeParse(specialEmailDto);
453
451
  expect(result.success).toBe(true);
454
452
  if (result.success) {
455
453
  expect(result.data.emailOrUsername).toBe('josé.óconnor+test@example.com');
@@ -461,7 +459,7 @@ describe('AuthDto Schemas', () => {
461
459
  token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMjMiLCJpYXQiOjE2MzQ1Njc4OTB9.example',
462
460
  };
463
461
  it('should validate a valid login response', () => {
464
- const result = auth_dto_1.LoginResponseSchema.safeParse(validLoginResponse);
462
+ const result = LoginResponseSchema.safeParse(validLoginResponse);
465
463
  expect(result.success).toBe(true);
466
464
  if (result.success) {
467
465
  expect(result.data).toEqual(validLoginResponse);
@@ -469,7 +467,7 @@ describe('AuthDto Schemas', () => {
469
467
  });
470
468
  it('should reject missing token', () => {
471
469
  const invalidResponse = {};
472
- const result = auth_dto_1.LoginResponseSchema.safeParse(invalidResponse);
470
+ const result = LoginResponseSchema.safeParse(invalidResponse);
473
471
  expect(result.success).toBe(false);
474
472
  if (!result.success) {
475
473
  expect(result.error.issues[0].path).toEqual(['token']);
@@ -480,7 +478,7 @@ describe('AuthDto Schemas', () => {
480
478
  const responseWithEmptyToken = {
481
479
  token: '',
482
480
  };
483
- const result = auth_dto_1.LoginResponseSchema.safeParse(responseWithEmptyToken);
481
+ const result = LoginResponseSchema.safeParse(responseWithEmptyToken);
484
482
  expect(result.success).toBe(true);
485
483
  if (result.success) {
486
484
  expect(result.data.token).toBe('');
@@ -490,7 +488,7 @@ describe('AuthDto Schemas', () => {
490
488
  const responseWithLongToken = {
491
489
  token: 'A'.repeat(10000),
492
490
  };
493
- const result = auth_dto_1.LoginResponseSchema.safeParse(responseWithLongToken);
491
+ const result = LoginResponseSchema.safeParse(responseWithLongToken);
494
492
  expect(result.success).toBe(true);
495
493
  if (result.success) {
496
494
  expect(result.data.token).toBe('A'.repeat(10000));
@@ -1 +1 @@
1
- {"version":3,"file":"auth.dto.spec.js","sourceRoot":"","sources":["../../src/tests/auth.dto.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.dto.spec.js","sourceRoot":"","sources":["../../src/tests/auth.dto.spec.ts"],"names":[],"mappings":"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"}
@@ -1,64 +1,62 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const zod_1 = require("zod");
4
- const model_1 = require("../model/model");
5
- const utility_1 = require("../model/utility");
1
+ import { z } from 'zod';
2
+ import { ActivationStatus, UserRole } from '../model/model';
3
+ import { createZodEnum } from '../model/utility';
6
4
  describe('Model Constants and Utility Functions', () => {
7
5
  describe('UserRole', () => {
8
6
  it('should have correct role values', () => {
9
- expect(model_1.UserRole.OWNER).toBe('owner');
10
- expect(model_1.UserRole.PARENT).toBe('parent');
11
- expect(model_1.UserRole.CHILD).toBe('child');
7
+ expect(UserRole.OWNER).toBe('owner');
8
+ expect(UserRole.PARENT).toBe('parent');
9
+ expect(UserRole.CHILD).toBe('child');
12
10
  });
13
11
  it('should have all expected roles', () => {
14
12
  const expectedRoles = ['owner', 'parent', 'child'];
15
- const actualRoles = Object.values(model_1.UserRole);
13
+ const actualRoles = Object.values(UserRole);
16
14
  expect(actualRoles).toEqual(expectedRoles);
17
15
  expect(actualRoles).toHaveLength(3);
18
16
  });
19
17
  it('should have readonly properties (TypeScript compile-time check)', () => {
20
- expect(model_1.UserRole.OWNER).toBe('owner');
21
- expect(model_1.UserRole.PARENT).toBe('parent');
22
- expect(model_1.UserRole.CHILD).toBe('child');
18
+ expect(UserRole.OWNER).toBe('owner');
19
+ expect(UserRole.PARENT).toBe('parent');
20
+ expect(UserRole.CHILD).toBe('child');
23
21
  });
24
22
  });
25
23
  describe('ActivationStatus', () => {
26
24
  it('should have correct status values', () => {
27
- expect(model_1.ActivationStatus.ACTIVE).toBe('active');
28
- expect(model_1.ActivationStatus.DISABLED).toBe('disabled');
25
+ expect(ActivationStatus.ACTIVE).toBe('active');
26
+ expect(ActivationStatus.DISABLED).toBe('disabled');
29
27
  });
30
28
  it('should have all expected statuses', () => {
31
29
  const expectedStatuses = ['active', 'disabled'];
32
- const actualStatuses = Object.values(model_1.ActivationStatus);
30
+ const actualStatuses = Object.values(ActivationStatus);
33
31
  expect(actualStatuses).toEqual(expectedStatuses);
34
32
  expect(actualStatuses).toHaveLength(2);
35
33
  });
36
34
  it('should have readonly properties (TypeScript compile-time check)', () => {
37
- expect(model_1.ActivationStatus.ACTIVE).toBe('active');
38
- expect(model_1.ActivationStatus.DISABLED).toBe('disabled');
35
+ expect(ActivationStatus.ACTIVE).toBe('active');
36
+ expect(ActivationStatus.DISABLED).toBe('disabled');
39
37
  });
40
38
  });
41
39
  describe('createZodEnum', () => {
42
40
  it('should create a valid Zod enum from UserRole', () => {
43
- const userRoleEnum = (0, utility_1.createZodEnum)(model_1.UserRole);
44
- expect(userRoleEnum.parse(model_1.UserRole.OWNER)).toBe(model_1.UserRole.OWNER);
45
- expect(userRoleEnum.parse(model_1.UserRole.PARENT)).toBe(model_1.UserRole.PARENT);
46
- expect(userRoleEnum.parse(model_1.UserRole.CHILD)).toBe(model_1.UserRole.CHILD);
41
+ const userRoleEnum = createZodEnum(UserRole);
42
+ expect(userRoleEnum.parse(UserRole.OWNER)).toBe(UserRole.OWNER);
43
+ expect(userRoleEnum.parse(UserRole.PARENT)).toBe(UserRole.PARENT);
44
+ expect(userRoleEnum.parse(UserRole.CHILD)).toBe(UserRole.CHILD);
47
45
  });
48
46
  it('should create a valid Zod enum from ActivationStatus', () => {
49
- const activationStatusEnum = (0, utility_1.createZodEnum)(model_1.ActivationStatus);
50
- expect(activationStatusEnum.parse(model_1.ActivationStatus.ACTIVE)).toBe(model_1.ActivationStatus.ACTIVE);
51
- expect(activationStatusEnum.parse(model_1.ActivationStatus.DISABLED)).toBe(model_1.ActivationStatus.DISABLED);
47
+ const activationStatusEnum = createZodEnum(ActivationStatus);
48
+ expect(activationStatusEnum.parse(ActivationStatus.ACTIVE)).toBe(ActivationStatus.ACTIVE);
49
+ expect(activationStatusEnum.parse(ActivationStatus.DISABLED)).toBe(ActivationStatus.DISABLED);
52
50
  });
53
51
  it('should reject invalid values for UserRole enum', () => {
54
- const userRoleEnum = (0, utility_1.createZodEnum)(model_1.UserRole);
52
+ const userRoleEnum = createZodEnum(UserRole);
55
53
  expect(() => userRoleEnum.parse('invalid-role')).toThrow();
56
54
  expect(() => userRoleEnum.parse('')).toThrow();
57
55
  expect(() => userRoleEnum.parse(null)).toThrow();
58
56
  expect(() => userRoleEnum.parse(undefined)).toThrow();
59
57
  });
60
58
  it('should reject invalid values for ActivationStatus enum', () => {
61
- const activationStatusEnum = (0, utility_1.createZodEnum)(model_1.ActivationStatus);
59
+ const activationStatusEnum = createZodEnum(ActivationStatus);
62
60
  expect(() => activationStatusEnum.parse('invalid-status')).toThrow();
63
61
  expect(() => activationStatusEnum.parse('')).toThrow();
64
62
  expect(() => activationStatusEnum.parse(null)).toThrow();
@@ -70,7 +68,7 @@ describe('Model Constants and Utility Functions', () => {
70
68
  SECOND: 'second',
71
69
  THIRD: 'third',
72
70
  };
73
- const customZodEnum = (0, utility_1.createZodEnum)(customEnum);
71
+ const customZodEnum = createZodEnum(customEnum);
74
72
  expect(customZodEnum.parse('first')).toBe('first');
75
73
  expect(customZodEnum.parse('second')).toBe('second');
76
74
  expect(customZodEnum.parse('third')).toBe('third');
@@ -80,42 +78,42 @@ describe('Model Constants and Utility Functions', () => {
80
78
  const singleEnum = {
81
79
  ONLY: 'only',
82
80
  };
83
- const singleZodEnum = (0, utility_1.createZodEnum)(singleEnum);
81
+ const singleZodEnum = createZodEnum(singleEnum);
84
82
  expect(singleZodEnum.parse('only')).toBe('only');
85
83
  expect(() => singleZodEnum.parse('other')).toThrow();
86
84
  });
87
85
  it('should handle empty enum object gracefully', () => {
88
86
  const emptyEnum = {};
89
- expect(() => (0, utility_1.createZodEnum)(emptyEnum)).not.toThrow();
87
+ expect(() => createZodEnum(emptyEnum)).not.toThrow();
90
88
  });
91
89
  it('should preserve type safety', () => {
92
- const userRoleEnum = (0, utility_1.createZodEnum)(model_1.UserRole);
93
- const result = userRoleEnum.safeParse(model_1.UserRole.OWNER);
90
+ const userRoleEnum = createZodEnum(UserRole);
91
+ const result = userRoleEnum.safeParse(UserRole.OWNER);
94
92
  expect(result.success).toBe(true);
95
93
  if (result.success) {
96
94
  const role = result.data;
97
- expect(role).toBe(model_1.UserRole.OWNER);
95
+ expect(role).toBe(UserRole.OWNER);
98
96
  }
99
97
  });
100
98
  it('should work with Zod schema composition', () => {
101
- const userRoleEnum = (0, utility_1.createZodEnum)(model_1.UserRole);
102
- const schema = zod_1.z.object({
99
+ const userRoleEnum = createZodEnum(UserRole);
100
+ const schema = z.object({
103
101
  role: userRoleEnum,
104
- name: zod_1.z.string(),
102
+ name: z.string(),
105
103
  });
106
104
  const validData = {
107
- role: model_1.UserRole.PARENT,
105
+ role: UserRole.PARENT,
108
106
  name: 'John Doe',
109
107
  };
110
108
  const result = schema.safeParse(validData);
111
109
  expect(result.success).toBe(true);
112
110
  if (result.success) {
113
- expect(result.data.role).toBe(model_1.UserRole.PARENT);
111
+ expect(result.data.role).toBe(UserRole.PARENT);
114
112
  expect(result.data.name).toBe('John Doe');
115
113
  }
116
114
  });
117
115
  it('should provide meaningful error messages', () => {
118
- const userRoleEnum = (0, utility_1.createZodEnum)(model_1.UserRole);
116
+ const userRoleEnum = createZodEnum(UserRole);
119
117
  const result = userRoleEnum.safeParse('invalid-role');
120
118
  expect(result.success).toBe(false);
121
119
  if (!result.success) {
@@ -124,7 +122,7 @@ describe('Model Constants and Utility Functions', () => {
124
122
  }
125
123
  });
126
124
  it('should handle case sensitivity correctly', () => {
127
- const userRoleEnum = (0, utility_1.createZodEnum)(model_1.UserRole);
125
+ const userRoleEnum = createZodEnum(UserRole);
128
126
  expect(() => userRoleEnum.parse('OWNER')).toThrow();
129
127
  expect(() => userRoleEnum.parse('Owner')).toThrow();
130
128
  expect(userRoleEnum.parse('owner')).toBe('owner');
@@ -151,21 +149,21 @@ describe('Model Constants and Utility Functions', () => {
151
149
  });
152
150
  describe('Enum Object Structure', () => {
153
151
  it('should have correct object structure for UserRole', () => {
154
- expect(typeof model_1.UserRole).toBe('object');
155
- expect(model_1.UserRole).toHaveProperty('OWNER');
156
- expect(model_1.UserRole).toHaveProperty('PARENT');
157
- expect(model_1.UserRole).toHaveProperty('CHILD');
158
- expect(Object.keys(model_1.UserRole)).toHaveLength(3);
152
+ expect(typeof UserRole).toBe('object');
153
+ expect(UserRole).toHaveProperty('OWNER');
154
+ expect(UserRole).toHaveProperty('PARENT');
155
+ expect(UserRole).toHaveProperty('CHILD');
156
+ expect(Object.keys(UserRole)).toHaveLength(3);
159
157
  });
160
158
  it('should have correct object structure for ActivationStatus', () => {
161
- expect(typeof model_1.ActivationStatus).toBe('object');
162
- expect(model_1.ActivationStatus).toHaveProperty('ACTIVE');
163
- expect(model_1.ActivationStatus).toHaveProperty('DISABLED');
164
- expect(Object.keys(model_1.ActivationStatus)).toHaveLength(2);
159
+ expect(typeof ActivationStatus).toBe('object');
160
+ expect(ActivationStatus).toHaveProperty('ACTIVE');
161
+ expect(ActivationStatus).toHaveProperty('DISABLED');
162
+ expect(Object.keys(ActivationStatus)).toHaveLength(2);
165
163
  });
166
164
  it('should maintain consistent naming convention', () => {
167
- const userRoleKeys = Object.keys(model_1.UserRole);
168
- const activationStatusKeys = Object.keys(model_1.ActivationStatus);
165
+ const userRoleKeys = Object.keys(UserRole);
166
+ const activationStatusKeys = Object.keys(ActivationStatus);
169
167
  userRoleKeys.forEach((key) => {
170
168
  expect(key).toMatch(/^[A-Z_]+$/);
171
169
  });
@@ -174,8 +172,8 @@ describe('Model Constants and Utility Functions', () => {
174
172
  });
175
173
  });
176
174
  it('should maintain consistent value convention', () => {
177
- const userRoleValues = Object.values(model_1.UserRole);
178
- const activationStatusValues = Object.values(model_1.ActivationStatus);
175
+ const userRoleValues = Object.values(UserRole);
176
+ const activationStatusValues = Object.values(ActivationStatus);
179
177
  userRoleValues.forEach((value) => {
180
178
  expect(value).toMatch(/^[a-z]+$/);
181
179
  });