@kidemy/lib 1.0.6 → 1.0.7
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.
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/dist/tests/account.dto.spec.d.ts +0 -1
- package/dist/tests/account.dto.spec.js +0 -187
- package/dist/tests/account.dto.spec.js.map +0 -1
- package/dist/tests/assignment.dto.spec.d.ts +0 -1
- package/dist/tests/assignment.dto.spec.js +0 -410
- package/dist/tests/assignment.dto.spec.js.map +0 -1
- package/dist/tests/auth.dto.spec.d.ts +0 -1
- package/dist/tests/auth.dto.spec.js +0 -499
- package/dist/tests/auth.dto.spec.js.map +0 -1
- package/dist/tests/model.spec.d.ts +0 -1
- package/dist/tests/model.spec.js +0 -186
- package/dist/tests/model.spec.js.map +0 -1
- package/dist/tests/user.dto.spec.d.ts +0 -1
- package/dist/tests/user.dto.spec.js +0 -332
- package/dist/tests/user.dto.spec.js.map +0 -1
- package/dist/tests/utility.spec.d.ts +0 -1
- package/dist/tests/utility.spec.js +0 -170
- package/dist/tests/utility.spec.js.map +0 -1
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
import { ActivationStatus, UserRole } from '../model/model';
|
|
3
|
-
import { createZodEnum } from '../model/utility';
|
|
4
|
-
describe('createZodEnum', () => {
|
|
5
|
-
describe('with UserRole enum', () => {
|
|
6
|
-
it('should create a valid Zod enum schema for UserRole', () => {
|
|
7
|
-
const zodEnum = createZodEnum(UserRole);
|
|
8
|
-
expect(zodEnum).toBeInstanceOf(z.ZodEnum);
|
|
9
|
-
expect(zodEnum.parse(UserRole.OWNER)).toBe(UserRole.OWNER);
|
|
10
|
-
expect(zodEnum.parse(UserRole.PARENT)).toBe(UserRole.PARENT);
|
|
11
|
-
expect(zodEnum.parse(UserRole.CHILD)).toBe(UserRole.CHILD);
|
|
12
|
-
});
|
|
13
|
-
it('should reject invalid values for UserRole', () => {
|
|
14
|
-
const zodEnum = createZodEnum(UserRole);
|
|
15
|
-
expect(() => zodEnum.parse('invalid-role')).toThrow();
|
|
16
|
-
expect(() => zodEnum.parse('admin')).toThrow();
|
|
17
|
-
expect(() => zodEnum.parse('')).toThrow();
|
|
18
|
-
expect(() => zodEnum.parse(null)).toThrow();
|
|
19
|
-
expect(() => zodEnum.parse(undefined)).toThrow();
|
|
20
|
-
});
|
|
21
|
-
it('should handle all UserRole values', () => {
|
|
22
|
-
const zodEnum = createZodEnum(UserRole);
|
|
23
|
-
const allUserRoles = Object.values(UserRole);
|
|
24
|
-
allUserRoles.forEach((role) => {
|
|
25
|
-
expect(zodEnum.parse(role)).toBe(role);
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
describe('with ActivationStatus enum', () => {
|
|
30
|
-
it('should create a valid Zod enum schema for ActivationStatus', () => {
|
|
31
|
-
const zodEnum = createZodEnum(ActivationStatus);
|
|
32
|
-
expect(zodEnum).toBeInstanceOf(z.ZodEnum);
|
|
33
|
-
expect(zodEnum.parse(ActivationStatus.ACTIVE)).toBe(ActivationStatus.ACTIVE);
|
|
34
|
-
expect(zodEnum.parse(ActivationStatus.DISABLED)).toBe(ActivationStatus.DISABLED);
|
|
35
|
-
});
|
|
36
|
-
it('should reject invalid values for ActivationStatus', () => {
|
|
37
|
-
const zodEnum = createZodEnum(ActivationStatus);
|
|
38
|
-
expect(() => zodEnum.parse('invalid-status')).toThrow();
|
|
39
|
-
expect(() => zodEnum.parse('enabled')).toThrow();
|
|
40
|
-
expect(() => zodEnum.parse('')).toThrow();
|
|
41
|
-
expect(() => zodEnum.parse(null)).toThrow();
|
|
42
|
-
expect(() => zodEnum.parse(undefined)).toThrow();
|
|
43
|
-
});
|
|
44
|
-
it('should handle all ActivationStatus values', () => {
|
|
45
|
-
const zodEnum = createZodEnum(ActivationStatus);
|
|
46
|
-
const allActivationStatuses = Object.values(ActivationStatus);
|
|
47
|
-
allActivationStatuses.forEach((status) => {
|
|
48
|
-
expect(zodEnum.parse(status)).toBe(status);
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
});
|
|
52
|
-
describe('with custom enum', () => {
|
|
53
|
-
const CustomEnum = {
|
|
54
|
-
VALUE_A: 'value-a',
|
|
55
|
-
VALUE_B: 'value-b',
|
|
56
|
-
VALUE_C: 'value-c',
|
|
57
|
-
};
|
|
58
|
-
it('should create a valid Zod enum schema for custom enum', () => {
|
|
59
|
-
const zodEnum = createZodEnum(CustomEnum);
|
|
60
|
-
expect(zodEnum).toBeInstanceOf(z.ZodEnum);
|
|
61
|
-
expect(zodEnum.parse(CustomEnum.VALUE_A)).toBe(CustomEnum.VALUE_A);
|
|
62
|
-
expect(zodEnum.parse(CustomEnum.VALUE_B)).toBe(CustomEnum.VALUE_B);
|
|
63
|
-
expect(zodEnum.parse(CustomEnum.VALUE_C)).toBe(CustomEnum.VALUE_C);
|
|
64
|
-
});
|
|
65
|
-
it('should reject invalid values for custom enum', () => {
|
|
66
|
-
const zodEnum = createZodEnum(CustomEnum);
|
|
67
|
-
expect(() => zodEnum.parse('invalid-value')).toThrow();
|
|
68
|
-
expect(() => zodEnum.parse('value-d')).toThrow();
|
|
69
|
-
expect(() => zodEnum.parse('')).toThrow();
|
|
70
|
-
expect(() => zodEnum.parse(null)).toThrow();
|
|
71
|
-
expect(() => zodEnum.parse(undefined)).toThrow();
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
describe('edge cases', () => {
|
|
75
|
-
it('should handle empty enum', () => {
|
|
76
|
-
const EmptyEnum = {};
|
|
77
|
-
const zodEnum = createZodEnum(EmptyEnum);
|
|
78
|
-
expect(zodEnum).toBeInstanceOf(z.ZodEnum);
|
|
79
|
-
expect(() => zodEnum.parse('any-value')).toThrow();
|
|
80
|
-
});
|
|
81
|
-
it('should handle enum with single value', () => {
|
|
82
|
-
const SingleValueEnum = {
|
|
83
|
-
ONLY_VALUE: 'only-value',
|
|
84
|
-
};
|
|
85
|
-
const zodEnum = createZodEnum(SingleValueEnum);
|
|
86
|
-
expect(zodEnum).toBeInstanceOf(z.ZodEnum);
|
|
87
|
-
expect(zodEnum.parse(SingleValueEnum.ONLY_VALUE)).toBe(SingleValueEnum.ONLY_VALUE);
|
|
88
|
-
expect(() => zodEnum.parse('other-value')).toThrow();
|
|
89
|
-
});
|
|
90
|
-
it('should handle enum with numeric string values', () => {
|
|
91
|
-
const NumericEnum = {
|
|
92
|
-
ONE: '1',
|
|
93
|
-
TWO: '2',
|
|
94
|
-
THREE: '3',
|
|
95
|
-
};
|
|
96
|
-
const zodEnum = createZodEnum(NumericEnum);
|
|
97
|
-
expect(zodEnum).toBeInstanceOf(z.ZodEnum);
|
|
98
|
-
expect(zodEnum.parse(NumericEnum.ONE)).toBe(NumericEnum.ONE);
|
|
99
|
-
expect(zodEnum.parse(NumericEnum.TWO)).toBe(NumericEnum.TWO);
|
|
100
|
-
expect(zodEnum.parse(NumericEnum.THREE)).toBe(NumericEnum.THREE);
|
|
101
|
-
expect(() => zodEnum.parse('4')).toThrow();
|
|
102
|
-
});
|
|
103
|
-
it('should handle enum with special characters', () => {
|
|
104
|
-
const SpecialCharEnum = {
|
|
105
|
-
VALUE_WITH_DASH: 'value-with-dash',
|
|
106
|
-
VALUE_WITH_UNDERSCORE: 'value_with_underscore',
|
|
107
|
-
VALUE_WITH_DOTS: 'value.with.dots',
|
|
108
|
-
};
|
|
109
|
-
const zodEnum = createZodEnum(SpecialCharEnum);
|
|
110
|
-
expect(zodEnum).toBeInstanceOf(z.ZodEnum);
|
|
111
|
-
expect(zodEnum.parse(SpecialCharEnum.VALUE_WITH_DASH)).toBe(SpecialCharEnum.VALUE_WITH_DASH);
|
|
112
|
-
expect(zodEnum.parse(SpecialCharEnum.VALUE_WITH_UNDERSCORE)).toBe(SpecialCharEnum.VALUE_WITH_UNDERSCORE);
|
|
113
|
-
expect(zodEnum.parse(SpecialCharEnum.VALUE_WITH_DOTS)).toBe(SpecialCharEnum.VALUE_WITH_DOTS);
|
|
114
|
-
});
|
|
115
|
-
it('should handle enum with unicode characters', () => {
|
|
116
|
-
const UnicodeEnum = {
|
|
117
|
-
EMOJI: '😀',
|
|
118
|
-
ACCENTED: 'café',
|
|
119
|
-
CHINESE: '中文',
|
|
120
|
-
};
|
|
121
|
-
const zodEnum = createZodEnum(UnicodeEnum);
|
|
122
|
-
expect(zodEnum).toBeInstanceOf(z.ZodEnum);
|
|
123
|
-
expect(zodEnum.parse(UnicodeEnum.EMOJI)).toBe(UnicodeEnum.EMOJI);
|
|
124
|
-
expect(zodEnum.parse(UnicodeEnum.ACCENTED)).toBe(UnicodeEnum.ACCENTED);
|
|
125
|
-
expect(zodEnum.parse(UnicodeEnum.CHINESE)).toBe(UnicodeEnum.CHINESE);
|
|
126
|
-
});
|
|
127
|
-
});
|
|
128
|
-
describe('type safety', () => {
|
|
129
|
-
it('should maintain type safety with UserRole', () => {
|
|
130
|
-
const zodEnum = createZodEnum(UserRole);
|
|
131
|
-
const result = zodEnum.parse(UserRole.OWNER);
|
|
132
|
-
expect(typeof result).toBe('string');
|
|
133
|
-
expect(result).toBe(UserRole.OWNER);
|
|
134
|
-
});
|
|
135
|
-
it('should maintain type safety with ActivationStatus', () => {
|
|
136
|
-
const zodEnum = createZodEnum(ActivationStatus);
|
|
137
|
-
const result = zodEnum.parse(ActivationStatus.ACTIVE);
|
|
138
|
-
expect(typeof result).toBe('string');
|
|
139
|
-
expect(result).toBe(ActivationStatus.ACTIVE);
|
|
140
|
-
});
|
|
141
|
-
});
|
|
142
|
-
describe('integration with Zod schemas', () => {
|
|
143
|
-
it('should work correctly in object schemas', () => {
|
|
144
|
-
const TestSchema = z.object({
|
|
145
|
-
role: createZodEnum(UserRole),
|
|
146
|
-
status: createZodEnum(ActivationStatus),
|
|
147
|
-
});
|
|
148
|
-
const validData = {
|
|
149
|
-
role: UserRole.OWNER,
|
|
150
|
-
status: ActivationStatus.ACTIVE,
|
|
151
|
-
};
|
|
152
|
-
const result = TestSchema.parse(validData);
|
|
153
|
-
expect(result).toEqual(validData);
|
|
154
|
-
expect(result.role).toBe(UserRole.OWNER);
|
|
155
|
-
expect(result.status).toBe(ActivationStatus.ACTIVE);
|
|
156
|
-
});
|
|
157
|
-
it('should reject invalid data in object schemas', () => {
|
|
158
|
-
const TestSchema = z.object({
|
|
159
|
-
role: createZodEnum(UserRole),
|
|
160
|
-
status: createZodEnum(ActivationStatus),
|
|
161
|
-
});
|
|
162
|
-
const invalidData = {
|
|
163
|
-
role: 'invalid-role',
|
|
164
|
-
status: ActivationStatus.ACTIVE,
|
|
165
|
-
};
|
|
166
|
-
expect(() => TestSchema.parse(invalidData)).toThrow();
|
|
167
|
-
});
|
|
168
|
-
});
|
|
169
|
-
});
|
|
170
|
-
//# sourceMappingURL=utility.spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utility.spec.js","sourceRoot":"","sources":["../../src/tests/utility.spec.ts"],"names":[],"mappings":"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"}
|