@kidemy/lib 1.0.10 → 1.0.12

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 (39) hide show
  1. package/dist/cjs/index.d.ts +1 -0
  2. package/dist/cjs/index.js +1 -0
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/model/account-invitation.dto.d.ts +18 -0
  5. package/dist/cjs/model/account-invitation.dto.js +20 -0
  6. package/dist/cjs/model/account-invitation.dto.js.map +1 -0
  7. package/dist/cjs/model/auth.dto.d.ts +2 -0
  8. package/dist/cjs/model/auth.dto.js +6 -0
  9. package/dist/cjs/model/auth.dto.js.map +1 -1
  10. package/dist/cjs/model/user.dto.js +4 -1
  11. package/dist/cjs/model/user.dto.js.map +1 -1
  12. package/dist/cjs/tests/account-invitation.dto.spec.d.ts +1 -0
  13. package/dist/cjs/tests/account-invitation.dto.spec.js +262 -0
  14. package/dist/cjs/tests/account-invitation.dto.spec.js.map +1 -0
  15. package/dist/cjs/tests/auth.dto.spec.js +63 -1
  16. package/dist/cjs/tests/auth.dto.spec.js.map +1 -1
  17. package/dist/cjs/tests/user.dto.spec.js +47 -0
  18. package/dist/cjs/tests/user.dto.spec.js.map +1 -1
  19. package/dist/cjs/tsconfig-cjs.tsbuildinfo +1 -1
  20. package/dist/esm/index.d.ts +1 -0
  21. package/dist/esm/index.js +1 -0
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/esm/model/account-invitation.dto.d.ts +18 -0
  24. package/dist/esm/model/account-invitation.dto.js +17 -0
  25. package/dist/esm/model/account-invitation.dto.js.map +1 -0
  26. package/dist/esm/model/auth.dto.d.ts +2 -0
  27. package/dist/esm/model/auth.dto.js +6 -0
  28. package/dist/esm/model/auth.dto.js.map +1 -1
  29. package/dist/esm/model/user.dto.js +4 -1
  30. package/dist/esm/model/user.dto.js.map +1 -1
  31. package/dist/esm/tests/account-invitation.dto.spec.d.ts +1 -0
  32. package/dist/esm/tests/account-invitation.dto.spec.js +260 -0
  33. package/dist/esm/tests/account-invitation.dto.spec.js.map +1 -0
  34. package/dist/esm/tests/auth.dto.spec.js +63 -1
  35. package/dist/esm/tests/auth.dto.spec.js.map +1 -1
  36. package/dist/esm/tests/user.dto.spec.js +47 -0
  37. package/dist/esm/tests/user.dto.spec.js.map +1 -1
  38. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  39. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  export * from './model/account.dto';
2
+ export * from './model/account-invitation.dto';
2
3
  export * from './model/assignment.dto';
3
4
  export * from './model/auth.dto';
4
5
  export * from './model/user.dto';
package/dist/cjs/index.js CHANGED
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./model/account.dto"), exports);
18
+ __exportStar(require("./model/account-invitation.dto"), exports);
18
19
  __exportStar(require("./model/assignment.dto"), exports);
19
20
  __exportStar(require("./model/auth.dto"), exports);
20
21
  __exportStar(require("./model/user.dto"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,yDAAuC;AACvC,mDAAiC;AACjC,mDAAiC;AACjC,gDAA8B;AAC9B,2DAAyC;AACzC,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,iEAA+C;AAC/C,yDAAuC;AACvC,mDAAiC;AACjC,mDAAiC;AACjC,gDAA8B;AAC9B,2DAAyC;AACzC,kDAAgC"}
@@ -0,0 +1,18 @@
1
+ import { z } from 'zod';
2
+ export declare const AccountInvitationDtoSchema: z.ZodObject<{
3
+ id: z.ZodUUID;
4
+ accountUid: z.ZodUUID;
5
+ accountName: z.ZodString;
6
+ invitorUid: z.ZodUUID;
7
+ createdAt: z.ZodDate;
8
+ updatedAt: z.ZodDate;
9
+ }, z.core.$strip>;
10
+ export type AccountInvitationDto = z.infer<typeof AccountInvitationDtoSchema>;
11
+ export declare const AccountInvitationInfoSchema: z.ZodObject<{
12
+ id: z.ZodUUID;
13
+ accountName: z.ZodString;
14
+ invitorUid: z.ZodUUID;
15
+ invitorFirstName: z.ZodString;
16
+ invitorLastName: z.ZodString;
17
+ }, z.core.$strip>;
18
+ export type AccountInvitationInfo = z.infer<typeof AccountInvitationInfoSchema>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AccountInvitationInfoSchema = exports.AccountInvitationDtoSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.AccountInvitationDtoSchema = zod_1.z.object({
6
+ id: zod_1.z.uuid(),
7
+ accountUid: zod_1.z.uuid(),
8
+ accountName: zod_1.z.string(),
9
+ invitorUid: zod_1.z.uuid(),
10
+ createdAt: zod_1.z.date(),
11
+ updatedAt: zod_1.z.date(),
12
+ });
13
+ exports.AccountInvitationInfoSchema = zod_1.z.object({
14
+ id: zod_1.z.uuid(),
15
+ accountName: zod_1.z.string(),
16
+ invitorUid: zod_1.z.uuid(),
17
+ invitorFirstName: zod_1.z.string(),
18
+ invitorLastName: zod_1.z.string(),
19
+ });
20
+ //# sourceMappingURL=account-invitation.dto.js.map
@@ -0,0 +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,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,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"}
@@ -11,6 +11,7 @@ export declare const CreateAccountUserDtoSchema: z.ZodObject<{
11
11
  password: z.ZodString;
12
12
  birthdate: z.ZodPipe<z.ZodOptional<z.ZodString>, z.ZodTransform<Date | undefined, string | undefined>>;
13
13
  }, z.core.$strip>;
14
+ recaptchaToken: z.ZodString;
14
15
  }, z.core.$strip>;
15
16
  export type CreateAccountUserDto = z.infer<typeof CreateAccountUserDtoSchema>;
16
17
  export declare const CreateAccountUserResponseSchema: z.ZodObject<{
@@ -44,6 +45,7 @@ export type CreateAccountUserResponse = z.infer<typeof CreateAccountUserResponse
44
45
  export declare const LoginDtoSchema: z.ZodObject<{
45
46
  emailOrUsername: z.ZodString;
46
47
  password: z.ZodString;
48
+ recaptchaToken: z.ZodString;
47
49
  }, z.core.$strip>;
48
50
  export type LoginDto = z.infer<typeof LoginDtoSchema>;
49
51
  export declare const LoginResponseSchema: z.ZodObject<{
@@ -36,6 +36,9 @@ exports.CreateAccountUserDtoSchema = zod_1.z.object({
36
36
  .optional()
37
37
  .transform((val) => (val ? new Date(val) : undefined)),
38
38
  }),
39
+ recaptchaToken: zod_1.z
40
+ .string()
41
+ .min(1, 'reCAPTCHA token is required'),
39
42
  });
40
43
  exports.CreateAccountUserResponseSchema = zod_1.z.object({
41
44
  account: zod_1.z.object({
@@ -64,6 +67,9 @@ exports.LoginDtoSchema = zod_1.z.object({
64
67
  .min(1, 'Email or username is required')
65
68
  .max(255, 'Email or username must be less than 255 characters'),
66
69
  password: zod_1.z.string('Password must be provided'),
70
+ recaptchaToken: zod_1.z
71
+ .string()
72
+ .min(1, 'reCAPTCHA token is required'),
67
73
  });
68
74
  exports.LoginResponseSchema = zod_1.z.object({
69
75
  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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"}
@@ -18,7 +18,10 @@ exports.UserDtoSchema = zod_1.z.object({
18
18
  exports.CreateChildUserDtoSchema = zod_1.z.object({
19
19
  firstName: zod_1.z.string().min(1, 'First name is required'),
20
20
  lastName: zod_1.z.string().min(1, 'Last name is required'),
21
- username: zod_1.z.string().min(3, 'Username is required'),
21
+ username: zod_1.z
22
+ .string()
23
+ .min(3, 'Username must be at least 3 characters')
24
+ .regex(/^[a-z0-9]+$/, 'Username must contain only lowercase alphanumeric characters'),
22
25
  password: zod_1.z.string().length(4, 'Password must be exactly 4 characters'),
23
26
  birthdate: zod_1.z
24
27
  .string()
@@ -1 +1 @@
1
- {"version":3,"file":"user.dto.js","sourceRoot":"","sources":["../../../src/model/user.dto.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,mCAAqD;AACrD,uCAA0C;AAE7B,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,OAAC,CAAC,IAAI,EAAE;IACZ,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,IAAA,uBAAa,EAAC,gBAAQ,CAAC;IAC7B,MAAM,EAAE,IAAA,uBAAa,EAAC,wBAAgB,CAAC;IACvC,SAAS,EAAE,OAAC,CAAC,IAAI,EAAE;IACnB,SAAS,EAAE,OAAC,CAAC,IAAI,EAAE;CACpB,CAAC,CAAC;AAIU,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;IACtD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;IACpD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC;IACnD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,uCAAuC,CAAC;IACvE,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;CACzD,CAAC,CAAC;AAIU,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,qBAAa,CAAC;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"user.dto.js","sourceRoot":"","sources":["../../../src/model/user.dto.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,mCAAqD;AACrD,uCAA0C;AAE7B,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,OAAC,CAAC,IAAI,EAAE;IACZ,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,KAAK,EAAE,OAAC,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IAC3B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,IAAA,uBAAa,EAAC,gBAAQ,CAAC;IAC7B,MAAM,EAAE,IAAA,uBAAa,EAAC,wBAAgB,CAAC;IACvC,SAAS,EAAE,OAAC,CAAC,IAAI,EAAE;IACnB,SAAS,EAAE,OAAC,CAAC,IAAI,EAAE;CACpB,CAAC,CAAC;AAIU,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;IACtD,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC;IACpD,QAAQ,EAAE,OAAC;SACR,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,EAAE,wCAAwC,CAAC;SAChD,KAAK,CAAC,aAAa,EAAE,8DAA8D,CAAC;IACvF,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,uCAAuC,CAAC;IACvE,SAAS,EAAE,OAAC;SACT,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;CACzD,CAAC,CAAC;AAIU,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,qBAAa,CAAC;CAC9B,CAAC,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const account_invitation_dto_1 = require("../model/account-invitation.dto");
4
+ describe('AccountInvitationDto Schemas', () => {
5
+ describe('AccountInvitationDtoSchema', () => {
6
+ const validUuid = '550e8400-e29b-41d4-a716-446655440000';
7
+ it('should validate a valid account invitation DTO', () => {
8
+ const validDto = {
9
+ id: validUuid,
10
+ accountUid: validUuid,
11
+ accountName: 'Test Account',
12
+ invitorUid: validUuid,
13
+ createdAt: new Date('2024-01-01'),
14
+ updatedAt: new Date('2024-01-02'),
15
+ };
16
+ const result = account_invitation_dto_1.AccountInvitationDtoSchema.safeParse(validDto);
17
+ expect(result.success).toBe(true);
18
+ if (result.success) {
19
+ expect(result.data.id).toBe(validUuid);
20
+ expect(result.data.accountUid).toBe(validUuid);
21
+ expect(result.data.accountName).toBe('Test Account');
22
+ expect(result.data.invitorUid).toBe(validUuid);
23
+ expect(result.data.createdAt).toEqual(new Date('2024-01-01'));
24
+ expect(result.data.updatedAt).toEqual(new Date('2024-01-02'));
25
+ }
26
+ });
27
+ it('should reject invalid id UUID', () => {
28
+ const invalidDto = {
29
+ id: 'invalid-uuid',
30
+ accountUid: validUuid,
31
+ accountName: 'Test Account',
32
+ invitorUid: validUuid,
33
+ createdAt: new Date(),
34
+ updatedAt: new Date(),
35
+ };
36
+ const result = account_invitation_dto_1.AccountInvitationDtoSchema.safeParse(invalidDto);
37
+ expect(result.success).toBe(false);
38
+ if (!result.success) {
39
+ expect(result.error.issues[0].path).toEqual(['id']);
40
+ }
41
+ });
42
+ it('should reject invalid accountUid UUID', () => {
43
+ const invalidDto = {
44
+ id: validUuid,
45
+ accountUid: 'invalid-uuid',
46
+ accountName: 'Test Account',
47
+ invitorUid: validUuid,
48
+ createdAt: new Date(),
49
+ updatedAt: new Date(),
50
+ };
51
+ const result = account_invitation_dto_1.AccountInvitationDtoSchema.safeParse(invalidDto);
52
+ expect(result.success).toBe(false);
53
+ if (!result.success) {
54
+ expect(result.error.issues[0].path).toEqual(['accountUid']);
55
+ }
56
+ });
57
+ it('should reject invalid invitorUid UUID', () => {
58
+ const invalidDto = {
59
+ id: validUuid,
60
+ accountUid: validUuid,
61
+ accountName: 'Test Account',
62
+ invitorUid: 'invalid-uuid',
63
+ createdAt: new Date(),
64
+ updatedAt: new Date(),
65
+ };
66
+ const result = account_invitation_dto_1.AccountInvitationDtoSchema.safeParse(invalidDto);
67
+ expect(result.success).toBe(false);
68
+ if (!result.success) {
69
+ expect(result.error.issues[0].path).toEqual(['invitorUid']);
70
+ }
71
+ });
72
+ it('should reject non-string accountName', () => {
73
+ const invalidDto = {
74
+ id: validUuid,
75
+ accountUid: validUuid,
76
+ accountName: 123,
77
+ invitorUid: validUuid,
78
+ createdAt: new Date(),
79
+ updatedAt: new Date(),
80
+ };
81
+ const result = account_invitation_dto_1.AccountInvitationDtoSchema.safeParse(invalidDto);
82
+ expect(result.success).toBe(false);
83
+ if (!result.success) {
84
+ expect(result.error.issues[0].path).toEqual(['accountName']);
85
+ expect(result.error.issues[0].code).toBe('invalid_type');
86
+ }
87
+ });
88
+ it('should reject invalid createdAt date', () => {
89
+ const invalidDto = {
90
+ id: validUuid,
91
+ accountUid: validUuid,
92
+ accountName: 'Test Account',
93
+ invitorUid: validUuid,
94
+ createdAt: 'not-a-date',
95
+ updatedAt: new Date(),
96
+ };
97
+ const result = account_invitation_dto_1.AccountInvitationDtoSchema.safeParse(invalidDto);
98
+ expect(result.success).toBe(false);
99
+ if (!result.success) {
100
+ expect(result.error.issues[0].path).toEqual(['createdAt']);
101
+ }
102
+ });
103
+ it('should reject invalid updatedAt date', () => {
104
+ const invalidDto = {
105
+ id: validUuid,
106
+ accountUid: validUuid,
107
+ accountName: 'Test Account',
108
+ invitorUid: validUuid,
109
+ createdAt: new Date(),
110
+ updatedAt: 'not-a-date',
111
+ };
112
+ const result = account_invitation_dto_1.AccountInvitationDtoSchema.safeParse(invalidDto);
113
+ expect(result.success).toBe(false);
114
+ if (!result.success) {
115
+ expect(result.error.issues[0].path).toEqual(['updatedAt']);
116
+ }
117
+ });
118
+ it('should reject missing required fields', () => {
119
+ const invalidDto = {};
120
+ const result = account_invitation_dto_1.AccountInvitationDtoSchema.safeParse(invalidDto);
121
+ expect(result.success).toBe(false);
122
+ if (!result.success) {
123
+ expect(result.error.issues.length).toBeGreaterThan(0);
124
+ }
125
+ });
126
+ });
127
+ describe('AccountInvitationInfoSchema', () => {
128
+ const validUuid = '550e8400-e29b-41d4-a716-446655440000';
129
+ it('should validate a valid account invitation info', () => {
130
+ const validInfo = {
131
+ id: validUuid,
132
+ accountName: 'Test Account',
133
+ invitorUid: validUuid,
134
+ invitorFirstName: 'John',
135
+ invitorLastName: 'Doe',
136
+ };
137
+ const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(validInfo);
138
+ expect(result.success).toBe(true);
139
+ if (result.success) {
140
+ expect(result.data.id).toBe(validUuid);
141
+ expect(result.data.accountName).toBe('Test Account');
142
+ expect(result.data.invitorUid).toBe(validUuid);
143
+ expect(result.data.invitorFirstName).toBe('John');
144
+ expect(result.data.invitorLastName).toBe('Doe');
145
+ }
146
+ });
147
+ it('should reject invalid id UUID', () => {
148
+ const invalidInfo = {
149
+ id: 'invalid-uuid',
150
+ accountName: 'Test Account',
151
+ invitorUid: validUuid,
152
+ invitorFirstName: 'John',
153
+ invitorLastName: 'Doe',
154
+ };
155
+ const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(invalidInfo);
156
+ expect(result.success).toBe(false);
157
+ if (!result.success) {
158
+ expect(result.error.issues[0].path).toEqual(['id']);
159
+ }
160
+ });
161
+ it('should reject invalid invitorUid UUID', () => {
162
+ const invalidInfo = {
163
+ id: validUuid,
164
+ accountName: 'Test Account',
165
+ invitorUid: 'invalid-uuid',
166
+ invitorFirstName: 'John',
167
+ invitorLastName: 'Doe',
168
+ };
169
+ const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(invalidInfo);
170
+ expect(result.success).toBe(false);
171
+ if (!result.success) {
172
+ expect(result.error.issues[0].path).toEqual(['invitorUid']);
173
+ }
174
+ });
175
+ it('should reject non-string accountName', () => {
176
+ const invalidInfo = {
177
+ id: validUuid,
178
+ accountName: 123,
179
+ invitorUid: validUuid,
180
+ invitorFirstName: 'John',
181
+ invitorLastName: 'Doe',
182
+ };
183
+ const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(invalidInfo);
184
+ expect(result.success).toBe(false);
185
+ if (!result.success) {
186
+ expect(result.error.issues[0].path).toEqual(['accountName']);
187
+ expect(result.error.issues[0].code).toBe('invalid_type');
188
+ }
189
+ });
190
+ it('should reject non-string invitorFirstName', () => {
191
+ const invalidInfo = {
192
+ id: validUuid,
193
+ accountName: 'Test Account',
194
+ invitorUid: validUuid,
195
+ invitorFirstName: 123,
196
+ invitorLastName: 'Doe',
197
+ };
198
+ const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(invalidInfo);
199
+ expect(result.success).toBe(false);
200
+ if (!result.success) {
201
+ expect(result.error.issues[0].path).toEqual(['invitorFirstName']);
202
+ expect(result.error.issues[0].code).toBe('invalid_type');
203
+ }
204
+ });
205
+ it('should reject non-string invitorLastName', () => {
206
+ const invalidInfo = {
207
+ id: validUuid,
208
+ accountName: 'Test Account',
209
+ invitorUid: validUuid,
210
+ invitorFirstName: 'John',
211
+ invitorLastName: 456,
212
+ };
213
+ const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(invalidInfo);
214
+ expect(result.success).toBe(false);
215
+ if (!result.success) {
216
+ expect(result.error.issues[0].path).toEqual(['invitorLastName']);
217
+ expect(result.error.issues[0].code).toBe('invalid_type');
218
+ }
219
+ });
220
+ it('should reject missing required fields', () => {
221
+ const invalidInfo = {};
222
+ const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(invalidInfo);
223
+ expect(result.success).toBe(false);
224
+ if (!result.success) {
225
+ expect(result.error.issues.length).toBeGreaterThan(0);
226
+ }
227
+ });
228
+ it('should handle special characters in names', () => {
229
+ const validInfo = {
230
+ id: validUuid,
231
+ accountName: "O'Connor-Smith & Co.",
232
+ invitorUid: validUuid,
233
+ invitorFirstName: "Jean-Pierre",
234
+ invitorLastName: "O'Brien",
235
+ };
236
+ const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(validInfo);
237
+ expect(result.success).toBe(true);
238
+ if (result.success) {
239
+ expect(result.data.accountName).toBe("O'Connor-Smith & Co.");
240
+ expect(result.data.invitorFirstName).toBe("Jean-Pierre");
241
+ expect(result.data.invitorLastName).toBe("O'Brien");
242
+ }
243
+ });
244
+ it('should handle unicode characters in names', () => {
245
+ const validInfo = {
246
+ id: validUuid,
247
+ accountName: '账户名称',
248
+ invitorUid: validUuid,
249
+ invitorFirstName: 'José',
250
+ invitorLastName: 'Müller',
251
+ };
252
+ const result = account_invitation_dto_1.AccountInvitationInfoSchema.safeParse(validInfo);
253
+ expect(result.success).toBe(true);
254
+ if (result.success) {
255
+ expect(result.data.accountName).toBe('账户名称');
256
+ expect(result.data.invitorFirstName).toBe('José');
257
+ expect(result.data.invitorLastName).toBe('Müller');
258
+ }
259
+ });
260
+ });
261
+ });
262
+ //# sourceMappingURL=account-invitation.dto.spec.js.map
@@ -0,0 +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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"}
@@ -16,6 +16,7 @@ describe('AuthDto Schemas', () => {
16
16
  password: 'password123',
17
17
  birthdate: '1990-01-01',
18
18
  },
19
+ recaptchaToken: 'test-recaptcha-token-123',
19
20
  };
20
21
  it('should validate a valid create account user DTO', () => {
21
22
  const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(validCreateAccountUserDto);
@@ -36,6 +37,7 @@ describe('AuthDto Schemas', () => {
36
37
  username: 'johndoe',
37
38
  password: 'password123',
38
39
  },
40
+ recaptchaToken: 'test-recaptcha-token-123',
39
41
  };
40
42
  const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(dtoWithoutBirthdate);
41
43
  expect(result.success).toBe(true);
@@ -188,6 +190,7 @@ describe('AuthDto Schemas', () => {
188
190
  password: 'password123',
189
191
  birthdate: '1990-01-01',
190
192
  },
193
+ recaptchaToken: 'test-recaptcha-token-123',
191
194
  };
192
195
  const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(specialCharDto);
193
196
  expect(result.success).toBe(true);
@@ -197,6 +200,35 @@ describe('AuthDto Schemas', () => {
197
200
  expect(result.data.user.lastName).toBe("O'Connor-Smith");
198
201
  }
199
202
  });
203
+ it('should reject missing recaptchaToken', () => {
204
+ const invalidDto = {
205
+ account: {
206
+ name: 'Test Account',
207
+ },
208
+ user: {
209
+ firstName: 'John',
210
+ lastName: 'Doe',
211
+ email: 'john.doe@example.com',
212
+ username: 'johndoe',
213
+ password: 'password123',
214
+ },
215
+ };
216
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
217
+ expect(result.success).toBe(false);
218
+ if (!result.success) {
219
+ expect(result.error.issues[0].path).toEqual(['recaptchaToken']);
220
+ expect(result.error.issues[0].code).toBe('invalid_type');
221
+ }
222
+ });
223
+ it('should reject empty recaptchaToken', () => {
224
+ const invalidDto = Object.assign(Object.assign({}, validCreateAccountUserDto), { recaptchaToken: '' });
225
+ const result = auth_dto_1.CreateAccountUserDtoSchema.safeParse(invalidDto);
226
+ expect(result.success).toBe(false);
227
+ if (!result.success) {
228
+ expect(result.error.issues[0].path).toEqual(['recaptchaToken']);
229
+ expect(result.error.issues[0].message).toBe('reCAPTCHA token is required');
230
+ }
231
+ });
200
232
  });
201
233
  describe('CreateAccountUserResponseSchema', () => {
202
234
  const validResponse = {
@@ -281,6 +313,7 @@ describe('AuthDto Schemas', () => {
281
313
  const validLoginDto = {
282
314
  emailOrUsername: 'john.doe@example.com',
283
315
  password: 'password123',
316
+ recaptchaToken: 'test-recaptcha-token-123',
284
317
  };
285
318
  it('should validate a valid login DTO', () => {
286
319
  const result = auth_dto_1.LoginDtoSchema.safeParse(validLoginDto);
@@ -290,7 +323,11 @@ describe('AuthDto Schemas', () => {
290
323
  }
291
324
  });
292
325
  it('should accept any string as emailOrUsername', () => {
293
- const dtoWithUsername = Object.assign(Object.assign({}, validLoginDto), { emailOrUsername: 'invalid-email' });
326
+ const dtoWithUsername = {
327
+ emailOrUsername: 'invalid-email',
328
+ password: 'password123',
329
+ recaptchaToken: 'test-recaptcha-token-123',
330
+ };
294
331
  const result = auth_dto_1.LoginDtoSchema.safeParse(dtoWithUsername);
295
332
  expect(result.success).toBe(true);
296
333
  if (result.success) {
@@ -300,6 +337,7 @@ describe('AuthDto Schemas', () => {
300
337
  it('should reject missing emailOrUsername', () => {
301
338
  const invalidDto = {
302
339
  password: 'password123',
340
+ recaptchaToken: 'test-recaptcha-token-123',
303
341
  };
304
342
  const result = auth_dto_1.LoginDtoSchema.safeParse(invalidDto);
305
343
  expect(result.success).toBe(false);
@@ -311,6 +349,7 @@ describe('AuthDto Schemas', () => {
311
349
  it('should reject missing password', () => {
312
350
  const invalidDto = {
313
351
  emailOrUsername: 'john.doe@example.com',
352
+ recaptchaToken: 'test-recaptcha-token-123',
314
353
  };
315
354
  const result = auth_dto_1.LoginDtoSchema.safeParse(invalidDto);
316
355
  expect(result.success).toBe(false);
@@ -323,6 +362,7 @@ describe('AuthDto Schemas', () => {
323
362
  const dtoWithEmptyPassword = {
324
363
  emailOrUsername: 'john.doe@example.com',
325
364
  password: '',
365
+ recaptchaToken: 'test-recaptcha-token-123',
326
366
  };
327
367
  const result = auth_dto_1.LoginDtoSchema.safeParse(dtoWithEmptyPassword);
328
368
  expect(result.success).toBe(true);
@@ -334,6 +374,7 @@ describe('AuthDto Schemas', () => {
334
374
  const specialEmailDto = {
335
375
  emailOrUsername: 'josé.óconnor+test@example.com',
336
376
  password: 'password123',
377
+ recaptchaToken: 'test-recaptcha-token-123',
337
378
  };
338
379
  const result = auth_dto_1.LoginDtoSchema.safeParse(specialEmailDto);
339
380
  expect(result.success).toBe(true);
@@ -341,6 +382,27 @@ describe('AuthDto Schemas', () => {
341
382
  expect(result.data.emailOrUsername).toBe('josé.óconnor+test@example.com');
342
383
  }
343
384
  });
385
+ it('should reject missing recaptchaToken', () => {
386
+ const invalidDto = {
387
+ emailOrUsername: 'john.doe@example.com',
388
+ password: 'password123',
389
+ };
390
+ const result = auth_dto_1.LoginDtoSchema.safeParse(invalidDto);
391
+ expect(result.success).toBe(false);
392
+ if (!result.success) {
393
+ expect(result.error.issues[0].path).toEqual(['recaptchaToken']);
394
+ expect(result.error.issues[0].code).toBe('invalid_type');
395
+ }
396
+ });
397
+ it('should reject empty recaptchaToken', () => {
398
+ const invalidDto = Object.assign(Object.assign({}, validLoginDto), { recaptchaToken: '' });
399
+ const result = auth_dto_1.LoginDtoSchema.safeParse(invalidDto);
400
+ expect(result.success).toBe(false);
401
+ if (!result.success) {
402
+ expect(result.error.issues[0].path).toEqual(['recaptchaToken']);
403
+ expect(result.error.issues[0].message).toBe('reCAPTCHA token is required');
404
+ }
405
+ });
344
406
  });
345
407
  describe('LoginResponseSchema', () => {
346
408
  const validLoginResponse = {