@kidemy/lib 1.0.7 → 1.0.8

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 (96) hide show
  1. package/dist/cjs/index.js +24 -0
  2. package/dist/cjs/index.js.map +1 -0
  3. package/dist/cjs/model/account.dto.js +30 -0
  4. package/dist/cjs/model/account.dto.js.map +1 -0
  5. package/dist/cjs/model/assignment.dto.js +103 -0
  6. package/dist/cjs/model/assignment.dto.js.map +1 -0
  7. package/dist/cjs/model/assignment.model.js +30 -0
  8. package/dist/cjs/model/assignment.model.js.map +1 -0
  9. package/dist/cjs/model/auth.dto.js +71 -0
  10. package/dist/cjs/model/auth.dto.js.map +1 -0
  11. package/dist/cjs/model/model.js +13 -0
  12. package/dist/cjs/model/model.js.map +1 -0
  13. package/dist/cjs/model/user.dto.js +31 -0
  14. package/dist/cjs/model/user.dto.js.map +1 -0
  15. package/dist/cjs/model/utility.js +8 -0
  16. package/dist/cjs/model/utility.js.map +1 -0
  17. package/dist/cjs/tests/account.dto.spec.d.ts +1 -0
  18. package/dist/cjs/tests/account.dto.spec.js +189 -0
  19. package/dist/cjs/tests/account.dto.spec.js.map +1 -0
  20. package/dist/cjs/tests/assignment.dto.spec.d.ts +1 -0
  21. package/dist/cjs/tests/assignment.dto.spec.js +345 -0
  22. package/dist/cjs/tests/assignment.dto.spec.js.map +1 -0
  23. package/dist/cjs/tests/auth.dto.spec.d.ts +1 -0
  24. package/dist/cjs/tests/auth.dto.spec.js +387 -0
  25. package/dist/cjs/tests/auth.dto.spec.js.map +1 -0
  26. package/dist/cjs/tests/model.spec.d.ts +1 -0
  27. package/dist/cjs/tests/model.spec.js +188 -0
  28. package/dist/cjs/tests/model.spec.js.map +1 -0
  29. package/dist/cjs/tests/user.dto.spec.d.ts +1 -0
  30. package/dist/cjs/tests/user.dto.spec.js +280 -0
  31. package/dist/cjs/tests/user.dto.spec.js.map +1 -0
  32. package/dist/cjs/tests/utility.spec.d.ts +1 -0
  33. package/dist/cjs/tests/utility.spec.js +172 -0
  34. package/dist/cjs/tests/utility.spec.js.map +1 -0
  35. package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -0
  36. package/dist/esm/index.d.ts +7 -0
  37. package/dist/esm/index.js.map +1 -0
  38. package/dist/esm/model/account.dto.d.ts +18 -0
  39. package/dist/esm/model/account.dto.js.map +1 -0
  40. package/dist/esm/model/assignment.dto.d.ts +115 -0
  41. package/dist/esm/model/assignment.dto.js.map +1 -0
  42. package/dist/esm/model/assignment.model.d.ts +33 -0
  43. package/dist/esm/model/assignment.model.js.map +1 -0
  44. package/dist/esm/model/auth.dto.d.ts +52 -0
  45. package/dist/esm/model/auth.dto.js.map +1 -0
  46. package/dist/esm/model/model.d.ts +11 -0
  47. package/dist/esm/model/model.js.map +1 -0
  48. package/dist/esm/model/user.dto.d.ts +43 -0
  49. package/dist/esm/model/user.dto.js.map +1 -0
  50. package/dist/esm/model/utility.d.ts +4 -0
  51. package/dist/esm/model/utility.js.map +1 -0
  52. package/dist/esm/tests/account.dto.spec.d.ts +1 -0
  53. package/dist/esm/tests/account.dto.spec.js +187 -0
  54. package/dist/esm/tests/account.dto.spec.js.map +1 -0
  55. package/dist/esm/tests/assignment.dto.spec.d.ts +1 -0
  56. package/dist/esm/tests/assignment.dto.spec.js +343 -0
  57. package/dist/esm/tests/assignment.dto.spec.js.map +1 -0
  58. package/dist/esm/tests/auth.dto.spec.d.ts +1 -0
  59. package/dist/esm/tests/auth.dto.spec.js +385 -0
  60. package/dist/esm/tests/auth.dto.spec.js.map +1 -0
  61. package/dist/esm/tests/model.spec.d.ts +1 -0
  62. package/dist/esm/tests/model.spec.js +186 -0
  63. package/dist/esm/tests/model.spec.js.map +1 -0
  64. package/dist/esm/tests/user.dto.spec.d.ts +1 -0
  65. package/dist/esm/tests/user.dto.spec.js +278 -0
  66. package/dist/esm/tests/user.dto.spec.js.map +1 -0
  67. package/dist/esm/tests/utility.spec.d.ts +1 -0
  68. package/dist/esm/tests/utility.spec.js +170 -0
  69. package/dist/esm/tests/utility.spec.js.map +1 -0
  70. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  71. package/package.json +6 -12
  72. package/dist/index.js.map +0 -1
  73. package/dist/model/account.dto.js.map +0 -1
  74. package/dist/model/assignment.dto.js.map +0 -1
  75. package/dist/model/assignment.model.js.map +0 -1
  76. package/dist/model/auth.dto.js.map +0 -1
  77. package/dist/model/model.js.map +0 -1
  78. package/dist/model/user.dto.js.map +0 -1
  79. package/dist/model/utility.js.map +0 -1
  80. package/dist/tsconfig.tsbuildinfo +0 -1
  81. /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  82. /package/dist/{model → cjs/model}/account.dto.d.ts +0 -0
  83. /package/dist/{model → cjs/model}/assignment.dto.d.ts +0 -0
  84. /package/dist/{model → cjs/model}/assignment.model.d.ts +0 -0
  85. /package/dist/{model → cjs/model}/auth.dto.d.ts +0 -0
  86. /package/dist/{model → cjs/model}/model.d.ts +0 -0
  87. /package/dist/{model → cjs/model}/user.dto.d.ts +0 -0
  88. /package/dist/{model → cjs/model}/utility.d.ts +0 -0
  89. /package/dist/{index.js → esm/index.js} +0 -0
  90. /package/dist/{model → esm/model}/account.dto.js +0 -0
  91. /package/dist/{model → esm/model}/assignment.dto.js +0 -0
  92. /package/dist/{model → esm/model}/assignment.model.js +0 -0
  93. /package/dist/{model → esm/model}/auth.dto.js +0 -0
  94. /package/dist/{model → esm/model}/model.js +0 -0
  95. /package/dist/{model → esm/model}/user.dto.js +0 -0
  96. /package/dist/{model → esm/model}/utility.js +0 -0
@@ -0,0 +1,387 @@
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");
5
+ describe('AuthDto Schemas', () => {
6
+ describe('CreateAccountUserDtoSchema', () => {
7
+ const validCreateAccountUserDto = {
8
+ account: {
9
+ name: 'Test Account',
10
+ },
11
+ user: {
12
+ firstName: 'John',
13
+ lastName: 'Doe',
14
+ email: 'john.doe@example.com',
15
+ username: 'johndoe',
16
+ password: 'password123',
17
+ birthdate: '1990-01-01',
18
+ },
19
+ };
20
+ it('should validate a valid create account user DTO', () => {
21
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(validCreateAccountUserDto);
22
+ expect(result.success).toBe(true);
23
+ if (result.success) {
24
+ expect(result.data).toEqual(Object.assign(Object.assign({}, validCreateAccountUserDto), { user: Object.assign(Object.assign({}, validCreateAccountUserDto.user), { birthdate: new Date('1990-01-01') }) }));
25
+ }
26
+ });
27
+ it('should validate create account user DTO without birthdate', () => {
28
+ const dtoWithoutBirthdate = {
29
+ account: {
30
+ name: 'Test Account',
31
+ },
32
+ user: {
33
+ firstName: 'John',
34
+ lastName: 'Doe',
35
+ email: 'john.doe@example.com',
36
+ username: 'johndoe',
37
+ password: 'password123',
38
+ },
39
+ };
40
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(dtoWithoutBirthdate);
41
+ expect(result.success).toBe(true);
42
+ if (result.success) {
43
+ expect(result.data.user.birthdate).toBeUndefined();
44
+ }
45
+ });
46
+ it('should reject empty account name', () => {
47
+ const invalidDto = Object.assign(Object.assign({}, validCreateAccountUserDto), { account: {
48
+ name: '',
49
+ } });
50
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
51
+ expect(result.success).toBe(false);
52
+ if (!result.success) {
53
+ expect(result.error.issues[0].path).toEqual(['account', 'name']);
54
+ expect(result.error.issues[0].message).toBe('Account name is required');
55
+ }
56
+ });
57
+ it('should reject account name longer than 255 characters', () => {
58
+ const invalidDto = Object.assign(Object.assign({}, validCreateAccountUserDto), { account: {
59
+ name: 'A'.repeat(256),
60
+ } });
61
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
62
+ expect(result.success).toBe(false);
63
+ if (!result.success) {
64
+ expect(result.error.issues[0].path).toEqual(['account', 'name']);
65
+ expect(result.error.issues[0].message).toBe('Account name must be less than 255 characters');
66
+ }
67
+ });
68
+ it('should accept account name with exactly 255 characters', () => {
69
+ const validDto = Object.assign(Object.assign({}, validCreateAccountUserDto), { account: {
70
+ name: 'A'.repeat(255),
71
+ } });
72
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(validDto);
73
+ expect(result.success).toBe(true);
74
+ if (result.success) {
75
+ expect(result.data.account.name).toBe('A'.repeat(255));
76
+ }
77
+ });
78
+ it('should reject empty firstName', () => {
79
+ const invalidDto = Object.assign(Object.assign({}, validCreateAccountUserDto), { user: Object.assign(Object.assign({}, validCreateAccountUserDto.user), { firstName: '' }) });
80
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
81
+ expect(result.success).toBe(false);
82
+ if (!result.success) {
83
+ expect(result.error.issues[0].path).toEqual(['user', 'firstName']);
84
+ expect(result.error.issues[0].message).toBe('First name is required');
85
+ }
86
+ });
87
+ it('should reject firstName longer than 255 characters', () => {
88
+ const invalidDto = Object.assign(Object.assign({}, validCreateAccountUserDto), { user: Object.assign(Object.assign({}, validCreateAccountUserDto.user), { firstName: 'A'.repeat(256) }) });
89
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
90
+ expect(result.success).toBe(false);
91
+ if (!result.success) {
92
+ expect(result.error.issues[0].path).toEqual(['user', 'firstName']);
93
+ expect(result.error.issues[0].message).toBe('First name must be less than 255 characters');
94
+ }
95
+ });
96
+ it('should reject empty lastName', () => {
97
+ const invalidDto = Object.assign(Object.assign({}, validCreateAccountUserDto), { user: Object.assign(Object.assign({}, validCreateAccountUserDto.user), { lastName: '' }) });
98
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
99
+ expect(result.success).toBe(false);
100
+ if (!result.success) {
101
+ expect(result.error.issues[0].path).toEqual(['user', 'lastName']);
102
+ expect(result.error.issues[0].message).toBe('Last name is required');
103
+ }
104
+ });
105
+ it('should reject lastName longer than 255 characters', () => {
106
+ const invalidDto = Object.assign(Object.assign({}, validCreateAccountUserDto), { user: Object.assign(Object.assign({}, validCreateAccountUserDto.user), { lastName: 'A'.repeat(256) }) });
107
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
108
+ expect(result.success).toBe(false);
109
+ if (!result.success) {
110
+ expect(result.error.issues[0].path).toEqual(['user', 'lastName']);
111
+ expect(result.error.issues[0].message).toBe('Last name must be less than 255 characters');
112
+ }
113
+ });
114
+ it('should reject invalid email format', () => {
115
+ const invalidDto = Object.assign(Object.assign({}, validCreateAccountUserDto), { user: Object.assign(Object.assign({}, validCreateAccountUserDto.user), { email: 'invalid-email' }) });
116
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
117
+ expect(result.success).toBe(false);
118
+ if (!result.success) {
119
+ expect(result.error.issues[0].path).toEqual(['user', 'email']);
120
+ expect(result.error.issues[0].message).toBe('Invalid email format');
121
+ }
122
+ });
123
+ it('should reject email longer than 255 characters', () => {
124
+ const invalidDto = Object.assign(Object.assign({}, validCreateAccountUserDto), { user: Object.assign(Object.assign({}, validCreateAccountUserDto.user), { email: 'a'.repeat(250) + '@example.com' }) });
125
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
126
+ expect(result.success).toBe(false);
127
+ if (!result.success) {
128
+ expect(result.error.issues[0].path).toEqual(['user', 'email']);
129
+ expect(result.error.issues[0].message).toBe('Email must be less than 255 characters');
130
+ }
131
+ });
132
+ it('should reject password shorter than 6 characters', () => {
133
+ const invalidDto = Object.assign(Object.assign({}, validCreateAccountUserDto), { user: Object.assign(Object.assign({}, validCreateAccountUserDto.user), { password: '12345' }) });
134
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
135
+ expect(result.success).toBe(false);
136
+ if (!result.success) {
137
+ expect(result.error.issues[0].path).toEqual(['user', 'password']);
138
+ expect(result.error.issues[0].message).toBe('Password must be at least 6 characters');
139
+ }
140
+ });
141
+ it('should reject password longer than 255 characters', () => {
142
+ const invalidDto = Object.assign(Object.assign({}, validCreateAccountUserDto), { user: Object.assign(Object.assign({}, validCreateAccountUserDto.user), { password: 'A'.repeat(256) }) });
143
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
144
+ expect(result.success).toBe(false);
145
+ if (!result.success) {
146
+ expect(result.error.issues[0].path).toEqual(['user', 'password']);
147
+ expect(result.error.issues[0].message).toBe('Password must be less than 255 characters');
148
+ }
149
+ });
150
+ it('should accept password with exactly 8 characters', () => {
151
+ const validDto = Object.assign(Object.assign({}, validCreateAccountUserDto), { user: Object.assign(Object.assign({}, validCreateAccountUserDto.user), { password: '12345678' }) });
152
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(validDto);
153
+ expect(result.success).toBe(true);
154
+ if (result.success) {
155
+ expect(result.data.user.password).toBe('12345678');
156
+ }
157
+ });
158
+ it('should accept password with exactly 255 characters', () => {
159
+ const validDto = Object.assign(Object.assign({}, validCreateAccountUserDto), { user: Object.assign(Object.assign({}, validCreateAccountUserDto.user), { password: 'A'.repeat(255) }) });
160
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(validDto);
161
+ expect(result.success).toBe(true);
162
+ if (result.success) {
163
+ expect(result.data.user.password).toBe('A'.repeat(255));
164
+ }
165
+ });
166
+ it('should transform birthdate string to Date', () => {
167
+ var _a, _b, _c;
168
+ const dtoWithBirthdate = Object.assign(Object.assign({}, validCreateAccountUserDto), { user: Object.assign(Object.assign({}, validCreateAccountUserDto.user), { birthdate: '2020-12-25' }) });
169
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(dtoWithBirthdate);
170
+ expect(result.success).toBe(true);
171
+ if (result.success) {
172
+ expect(result.data.user.birthdate).toBeInstanceOf(Date);
173
+ expect((_a = result.data.user.birthdate) === null || _a === void 0 ? void 0 : _a.getFullYear()).toBe(2020);
174
+ expect((_b = result.data.user.birthdate) === null || _b === void 0 ? void 0 : _b.getMonth()).toBe(11);
175
+ expect((_c = result.data.user.birthdate) === null || _c === void 0 ? void 0 : _c.getDate()).toBe(25);
176
+ }
177
+ });
178
+ it('should handle special characters in names', () => {
179
+ const specialCharDto = {
180
+ account: {
181
+ name: 'José Account',
182
+ },
183
+ user: {
184
+ firstName: 'José',
185
+ lastName: "O'Connor-Smith",
186
+ email: 'jose@example.com',
187
+ username: 'jose',
188
+ password: 'password123',
189
+ birthdate: '1990-01-01',
190
+ },
191
+ };
192
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(specialCharDto);
193
+ expect(result.success).toBe(true);
194
+ if (result.success) {
195
+ expect(result.data.account.name).toBe('José Account');
196
+ expect(result.data.user.firstName).toBe('José');
197
+ expect(result.data.user.lastName).toBe("O'Connor-Smith");
198
+ }
199
+ });
200
+ });
201
+ describe('CreateAccountUserResponseSchema', () => {
202
+ const validResponse = {
203
+ account: {
204
+ id: '123e4567-e89b-12d3-a456-426614174000',
205
+ name: 'Test Account',
206
+ status: model_1.ActivationStatus.ACTIVE,
207
+ createdAt: new Date('2024-01-01T00:00:00Z'),
208
+ updatedAt: new Date('2024-01-01T00:00:00Z'),
209
+ },
210
+ user: {
211
+ id: '123e4567-e89b-12d3-a456-426614174001',
212
+ accountId: '123e4567-e89b-12d3-a456-426614174000',
213
+ firstName: 'John',
214
+ lastName: 'Doe',
215
+ email: 'john.doe@example.com',
216
+ username: 'johndoe',
217
+ role: model_1.UserRole.OWNER,
218
+ status: model_1.ActivationStatus.ACTIVE,
219
+ createdAt: new Date('2024-01-01T00:00:00Z'),
220
+ updatedAt: new Date('2024-01-01T00:00:00Z'),
221
+ },
222
+ };
223
+ it('should validate a valid create account user response', () => {
224
+ const result = auth_dto_1.CreateAccountUserResponseSchema.safeParse(validResponse);
225
+ expect(result.success).toBe(true);
226
+ if (result.success) {
227
+ expect(result.data).toEqual(validResponse);
228
+ }
229
+ });
230
+ it('should reject invalid UUID for account id', () => {
231
+ const invalidResponse = Object.assign(Object.assign({}, validResponse), { account: Object.assign(Object.assign({}, validResponse.account), { id: 'invalid-uuid' }) });
232
+ const result = auth_dto_1.CreateAccountUserResponseSchema.safeParse(invalidResponse);
233
+ expect(result.success).toBe(false);
234
+ if (!result.success) {
235
+ expect(result.error.issues[0].path).toEqual(['account', 'id']);
236
+ expect(result.error.issues[0].code).toBe('invalid_format');
237
+ }
238
+ });
239
+ it('should reject invalid UUID for user id', () => {
240
+ const invalidResponse = Object.assign(Object.assign({}, validResponse), { user: Object.assign(Object.assign({}, validResponse.user), { id: 'invalid-uuid' }) });
241
+ const result = auth_dto_1.CreateAccountUserResponseSchema.safeParse(invalidResponse);
242
+ expect(result.success).toBe(false);
243
+ if (!result.success) {
244
+ expect(result.error.issues[0].path).toEqual(['user', 'id']);
245
+ expect(result.error.issues[0].code).toBe('invalid_format');
246
+ }
247
+ });
248
+ it('should reject invalid UUID for accountId', () => {
249
+ const invalidResponse = Object.assign(Object.assign({}, validResponse), { user: Object.assign(Object.assign({}, validResponse.user), { accountId: 'invalid-uuid' }) });
250
+ const result = auth_dto_1.CreateAccountUserResponseSchema.safeParse(invalidResponse);
251
+ expect(result.success).toBe(false);
252
+ if (!result.success) {
253
+ expect(result.error.issues[0].path).toEqual(['user', 'accountId']);
254
+ expect(result.error.issues[0].code).toBe('invalid_format');
255
+ }
256
+ });
257
+ it('should validate all valid account statuses', () => {
258
+ const statuses = [model_1.ActivationStatus.ACTIVE, model_1.ActivationStatus.DISABLED];
259
+ statuses.forEach((status) => {
260
+ const responseWithStatus = Object.assign(Object.assign({}, validResponse), { account: Object.assign(Object.assign({}, validResponse.account), { status }) });
261
+ const result = auth_dto_1.CreateAccountUserResponseSchema.safeParse(responseWithStatus);
262
+ expect(result.success).toBe(true);
263
+ if (result.success) {
264
+ expect(result.data.account.status).toBe(status);
265
+ }
266
+ });
267
+ });
268
+ it('should validate all valid user roles', () => {
269
+ const roles = [model_1.UserRole.OWNER, model_1.UserRole.PARENT, model_1.UserRole.CHILD];
270
+ roles.forEach((role) => {
271
+ const responseWithRole = Object.assign(Object.assign({}, validResponse), { user: Object.assign(Object.assign({}, validResponse.user), { role }) });
272
+ const result = auth_dto_1.CreateAccountUserResponseSchema.safeParse(responseWithRole);
273
+ expect(result.success).toBe(true);
274
+ if (result.success) {
275
+ expect(result.data.user.role).toBe(role);
276
+ }
277
+ });
278
+ });
279
+ });
280
+ describe('LoginDtoSchema', () => {
281
+ const validLoginDto = {
282
+ emailOrUsername: 'john.doe@example.com',
283
+ password: 'password123',
284
+ };
285
+ it('should validate a valid login DTO', () => {
286
+ const result = auth_dto_1.LoginDtoSchema.safeParse(validLoginDto);
287
+ expect(result.success).toBe(true);
288
+ if (result.success) {
289
+ expect(result.data).toEqual(validLoginDto);
290
+ }
291
+ });
292
+ it('should accept any string as emailOrUsername', () => {
293
+ const dtoWithUsername = Object.assign(Object.assign({}, validLoginDto), { emailOrUsername: 'invalid-email' });
294
+ const result = auth_dto_1.LoginDtoSchema.safeParse(dtoWithUsername);
295
+ expect(result.success).toBe(true);
296
+ if (result.success) {
297
+ expect(result.data.emailOrUsername).toBe('invalid-email');
298
+ }
299
+ });
300
+ it('should reject missing emailOrUsername', () => {
301
+ const invalidDto = {
302
+ password: 'password123',
303
+ };
304
+ const result = auth_dto_1.LoginDtoSchema.safeParse(invalidDto);
305
+ expect(result.success).toBe(false);
306
+ if (!result.success) {
307
+ expect(result.error.issues[0].path).toEqual(['emailOrUsername']);
308
+ expect(result.error.issues[0].code).toBe('invalid_type');
309
+ }
310
+ });
311
+ it('should reject missing password', () => {
312
+ const invalidDto = {
313
+ emailOrUsername: 'john.doe@example.com',
314
+ };
315
+ const result = auth_dto_1.LoginDtoSchema.safeParse(invalidDto);
316
+ expect(result.success).toBe(false);
317
+ if (!result.success) {
318
+ expect(result.error.issues[0].path).toEqual(['password']);
319
+ expect(result.error.issues[0].message).toBe('Password must be provided');
320
+ }
321
+ });
322
+ it('should accept empty password string', () => {
323
+ const dtoWithEmptyPassword = {
324
+ emailOrUsername: 'john.doe@example.com',
325
+ password: '',
326
+ };
327
+ const result = auth_dto_1.LoginDtoSchema.safeParse(dtoWithEmptyPassword);
328
+ expect(result.success).toBe(true);
329
+ if (result.success) {
330
+ expect(result.data.password).toBe('');
331
+ }
332
+ });
333
+ it('should accept emailOrUsername with special characters', () => {
334
+ const specialEmailDto = {
335
+ emailOrUsername: 'josé.óconnor+test@example.com',
336
+ password: 'password123',
337
+ };
338
+ const result = auth_dto_1.LoginDtoSchema.safeParse(specialEmailDto);
339
+ expect(result.success).toBe(true);
340
+ if (result.success) {
341
+ expect(result.data.emailOrUsername).toBe('josé.óconnor+test@example.com');
342
+ }
343
+ });
344
+ });
345
+ describe('LoginResponseSchema', () => {
346
+ const validLoginResponse = {
347
+ token: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOiIxMjMiLCJpYXQiOjE2MzQ1Njc4OTB9.example',
348
+ };
349
+ it('should validate a valid login response', () => {
350
+ const result = auth_dto_1.LoginResponseSchema.safeParse(validLoginResponse);
351
+ expect(result.success).toBe(true);
352
+ if (result.success) {
353
+ expect(result.data).toEqual(validLoginResponse);
354
+ }
355
+ });
356
+ it('should reject missing token', () => {
357
+ const invalidResponse = {};
358
+ const result = auth_dto_1.LoginResponseSchema.safeParse(invalidResponse);
359
+ expect(result.success).toBe(false);
360
+ if (!result.success) {
361
+ expect(result.error.issues[0].path).toEqual(['token']);
362
+ expect(result.error.issues[0].code).toBe('invalid_type');
363
+ }
364
+ });
365
+ it('should accept empty token string', () => {
366
+ const responseWithEmptyToken = {
367
+ token: '',
368
+ };
369
+ const result = auth_dto_1.LoginResponseSchema.safeParse(responseWithEmptyToken);
370
+ expect(result.success).toBe(true);
371
+ if (result.success) {
372
+ expect(result.data.token).toBe('');
373
+ }
374
+ });
375
+ it('should accept very long token', () => {
376
+ const responseWithLongToken = {
377
+ token: 'A'.repeat(10000),
378
+ };
379
+ const result = auth_dto_1.LoginResponseSchema.safeParse(responseWithLongToken);
380
+ expect(result.success).toBe(true);
381
+ if (result.success) {
382
+ expect(result.data.token).toBe('A'.repeat(10000));
383
+ }
384
+ });
385
+ });
386
+ });
387
+ //# sourceMappingURL=auth.dto.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.dto.spec.js","sourceRoot":"","sources":["../../../src/tests/auth.dto.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,188 @@
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");
6
+ describe('Model Constants and Utility Functions', () => {
7
+ describe('UserRole', () => {
8
+ 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');
12
+ });
13
+ it('should have all expected roles', () => {
14
+ const expectedRoles = ['owner', 'parent', 'child'];
15
+ const actualRoles = Object.values(model_1.UserRole);
16
+ expect(actualRoles).toEqual(expectedRoles);
17
+ expect(actualRoles).toHaveLength(3);
18
+ });
19
+ 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');
23
+ });
24
+ });
25
+ describe('ActivationStatus', () => {
26
+ it('should have correct status values', () => {
27
+ expect(model_1.ActivationStatus.ACTIVE).toBe('active');
28
+ expect(model_1.ActivationStatus.DISABLED).toBe('disabled');
29
+ });
30
+ it('should have all expected statuses', () => {
31
+ const expectedStatuses = ['active', 'disabled'];
32
+ const actualStatuses = Object.values(model_1.ActivationStatus);
33
+ expect(actualStatuses).toEqual(expectedStatuses);
34
+ expect(actualStatuses).toHaveLength(2);
35
+ });
36
+ 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');
39
+ });
40
+ });
41
+ describe('createZodEnum', () => {
42
+ 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);
47
+ });
48
+ 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);
52
+ });
53
+ it('should reject invalid values for UserRole enum', () => {
54
+ const userRoleEnum = (0, utility_1.createZodEnum)(model_1.UserRole);
55
+ expect(() => userRoleEnum.parse('invalid-role')).toThrow();
56
+ expect(() => userRoleEnum.parse('')).toThrow();
57
+ expect(() => userRoleEnum.parse(null)).toThrow();
58
+ expect(() => userRoleEnum.parse(undefined)).toThrow();
59
+ });
60
+ it('should reject invalid values for ActivationStatus enum', () => {
61
+ const activationStatusEnum = (0, utility_1.createZodEnum)(model_1.ActivationStatus);
62
+ expect(() => activationStatusEnum.parse('invalid-status')).toThrow();
63
+ expect(() => activationStatusEnum.parse('')).toThrow();
64
+ expect(() => activationStatusEnum.parse(null)).toThrow();
65
+ expect(() => activationStatusEnum.parse(undefined)).toThrow();
66
+ });
67
+ it('should work with custom enum objects', () => {
68
+ const customEnum = {
69
+ FIRST: 'first',
70
+ SECOND: 'second',
71
+ THIRD: 'third',
72
+ };
73
+ const customZodEnum = (0, utility_1.createZodEnum)(customEnum);
74
+ expect(customZodEnum.parse('first')).toBe('first');
75
+ expect(customZodEnum.parse('second')).toBe('second');
76
+ expect(customZodEnum.parse('third')).toBe('third');
77
+ expect(() => customZodEnum.parse('fourth')).toThrow();
78
+ });
79
+ it('should handle single value enum', () => {
80
+ const singleEnum = {
81
+ ONLY: 'only',
82
+ };
83
+ const singleZodEnum = (0, utility_1.createZodEnum)(singleEnum);
84
+ expect(singleZodEnum.parse('only')).toBe('only');
85
+ expect(() => singleZodEnum.parse('other')).toThrow();
86
+ });
87
+ it('should handle empty enum object gracefully', () => {
88
+ const emptyEnum = {};
89
+ expect(() => (0, utility_1.createZodEnum)(emptyEnum)).not.toThrow();
90
+ });
91
+ it('should preserve type safety', () => {
92
+ const userRoleEnum = (0, utility_1.createZodEnum)(model_1.UserRole);
93
+ const result = userRoleEnum.safeParse(model_1.UserRole.OWNER);
94
+ expect(result.success).toBe(true);
95
+ if (result.success) {
96
+ const role = result.data;
97
+ expect(role).toBe(model_1.UserRole.OWNER);
98
+ }
99
+ });
100
+ it('should work with Zod schema composition', () => {
101
+ const userRoleEnum = (0, utility_1.createZodEnum)(model_1.UserRole);
102
+ const schema = zod_1.z.object({
103
+ role: userRoleEnum,
104
+ name: zod_1.z.string(),
105
+ });
106
+ const validData = {
107
+ role: model_1.UserRole.PARENT,
108
+ name: 'John Doe',
109
+ };
110
+ const result = schema.safeParse(validData);
111
+ expect(result.success).toBe(true);
112
+ if (result.success) {
113
+ expect(result.data.role).toBe(model_1.UserRole.PARENT);
114
+ expect(result.data.name).toBe('John Doe');
115
+ }
116
+ });
117
+ it('should provide meaningful error messages', () => {
118
+ const userRoleEnum = (0, utility_1.createZodEnum)(model_1.UserRole);
119
+ const result = userRoleEnum.safeParse('invalid-role');
120
+ expect(result.success).toBe(false);
121
+ if (!result.success) {
122
+ expect(result.error.issues[0].code).toBe('invalid_value');
123
+ expect(result.error.issues[0].message).toContain('Invalid option');
124
+ }
125
+ });
126
+ it('should handle case sensitivity correctly', () => {
127
+ const userRoleEnum = (0, utility_1.createZodEnum)(model_1.UserRole);
128
+ expect(() => userRoleEnum.parse('OWNER')).toThrow();
129
+ expect(() => userRoleEnum.parse('Owner')).toThrow();
130
+ expect(userRoleEnum.parse('owner')).toBe('owner');
131
+ });
132
+ });
133
+ describe('Type Safety', () => {
134
+ it('should have correct TypeScript types for UserRole', () => {
135
+ const ownerRole = 'owner';
136
+ const parentRole = 'parent';
137
+ const childRole = 'child';
138
+ expect(ownerRole).toBe('owner');
139
+ expect(parentRole).toBe('parent');
140
+ expect(childRole).toBe('child');
141
+ });
142
+ it('should have correct TypeScript types for ActivationStatus', () => {
143
+ const activeStatus = 'active';
144
+ const disabledStatus = 'disabled';
145
+ expect(activeStatus).toBe('active');
146
+ expect(disabledStatus).toBe('disabled');
147
+ });
148
+ it('should prevent invalid assignments at compile time', () => {
149
+ expect(true).toBe(true);
150
+ });
151
+ });
152
+ describe('Enum Object Structure', () => {
153
+ 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);
159
+ });
160
+ 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);
165
+ });
166
+ it('should maintain consistent naming convention', () => {
167
+ const userRoleKeys = Object.keys(model_1.UserRole);
168
+ const activationStatusKeys = Object.keys(model_1.ActivationStatus);
169
+ userRoleKeys.forEach((key) => {
170
+ expect(key).toMatch(/^[A-Z_]+$/);
171
+ });
172
+ activationStatusKeys.forEach((key) => {
173
+ expect(key).toMatch(/^[A-Z_]+$/);
174
+ });
175
+ });
176
+ it('should maintain consistent value convention', () => {
177
+ const userRoleValues = Object.values(model_1.UserRole);
178
+ const activationStatusValues = Object.values(model_1.ActivationStatus);
179
+ userRoleValues.forEach((value) => {
180
+ expect(value).toMatch(/^[a-z]+$/);
181
+ });
182
+ activationStatusValues.forEach((value) => {
183
+ expect(value).toMatch(/^[a-z]+$/);
184
+ });
185
+ });
186
+ });
187
+ });
188
+ //# sourceMappingURL=model.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model.spec.js","sourceRoot":"","sources":["../../../src/tests/model.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};