Skip to content

Commit 59d467c

Browse files
author
Lasim
committed
refactor: update error handling to use 'issues' instead of 'errors' in validation responses across multiple test files
1 parent d738027 commit 59d467c

File tree

4 files changed

+22
-22
lines changed

4 files changed

+22
-22
lines changed

services/backend/tests/unit/routes/auth/schemas.test.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ describe('Auth Schemas', () => {
4141
const result = RegisterEmailSchema.safeParse(invalidRegistration);
4242
expect(result.success).toBe(false);
4343
if (!result.success) {
44-
expect(result.error.errors[0].message).toBe('Username must be at least 3 characters long');
44+
expect(result.error.issues[0].message).toBe('Username must be at least 3 characters long');
4545
}
4646
});
4747

@@ -55,7 +55,7 @@ describe('Auth Schemas', () => {
5555
const result = RegisterEmailSchema.safeParse(invalidRegistration);
5656
expect(result.success).toBe(false);
5757
if (!result.success) {
58-
expect(result.error.errors[0].message).toBe('Username cannot be longer than 30 characters');
58+
expect(result.error.issues[0].message).toBe('Username cannot be longer than 30 characters');
5959
}
6060
});
6161

@@ -69,7 +69,7 @@ describe('Auth Schemas', () => {
6969
const result = RegisterEmailSchema.safeParse(invalidRegistration);
7070
expect(result.success).toBe(false);
7171
if (!result.success) {
72-
expect(result.error.errors[0].message).toBe('Username can only contain alphanumeric characters and underscores');
72+
expect(result.error.issues[0].message).toBe('Username can only contain alphanumeric characters and underscores');
7373
}
7474
});
7575

@@ -94,7 +94,7 @@ describe('Auth Schemas', () => {
9494
const result = RegisterEmailSchema.safeParse(invalidRegistration);
9595
expect(result.success).toBe(false);
9696
if (!result.success) {
97-
expect(result.error.errors[0].message).toBe('Invalid email address');
97+
expect(result.error.issues[0].message).toBe('Invalid email address');
9898
}
9999
});
100100

@@ -108,7 +108,7 @@ describe('Auth Schemas', () => {
108108
const result = RegisterEmailSchema.safeParse(invalidRegistration);
109109
expect(result.success).toBe(false);
110110
if (!result.success) {
111-
expect(result.error.errors[0].message).toBe('Password must be at least 8 characters long');
111+
expect(result.error.issues[0].message).toBe('Password must be at least 8 characters long');
112112
}
113113
});
114114

@@ -122,7 +122,7 @@ describe('Auth Schemas', () => {
122122
const result = RegisterEmailSchema.safeParse(invalidRegistration);
123123
expect(result.success).toBe(false);
124124
if (!result.success) {
125-
expect(result.error.errors[0].message).toBe('Password cannot be longer than 100 characters long');
125+
expect(result.error.issues[0].message).toBe('Password cannot be longer than 100 characters long');
126126
}
127127
});
128128

@@ -181,7 +181,7 @@ describe('Auth Schemas', () => {
181181
const result = LoginEmailSchema.safeParse(invalidLogin);
182182
expect(result.success).toBe(false);
183183
if (!result.success) {
184-
expect(result.error.errors[0].message).toBe('Email or username is required');
184+
expect(result.error.issues[0].message).toBe('Email or username is required');
185185
}
186186
});
187187

@@ -194,7 +194,7 @@ describe('Auth Schemas', () => {
194194
const result = LoginEmailSchema.safeParse(invalidLogin);
195195
expect(result.success).toBe(false);
196196
if (!result.success) {
197-
expect(result.error.errors[0].message).toBe('Password is required');
197+
expect(result.error.issues[0].message).toBe('Password is required');
198198
}
199199
});
200200

services/backend/tests/unit/routes/db/schemas.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ describe('Database Schemas', () => {
4848
const result = SQLiteInternalConfigSchema.safeParse(invalidConfig);
4949
expect(result.success).toBe(false);
5050
if (!result.success) {
51-
expect(result.error.issues[0].code).toBe('invalid_literal');
51+
expect(result.error.issues[0].code).toBe('invalid_value');
5252
expect(result.error.issues[0].path).toEqual(['type']);
5353
}
5454
});
@@ -158,7 +158,7 @@ describe('Database Schemas', () => {
158158
const result = DbSetupRequestBodySchema.safeParse(invalidRequest);
159159
expect(result.success).toBe(false);
160160
if (!result.success) {
161-
expect(result.error.issues[0].code).toBe('invalid_enum_value');
161+
expect(result.error.issues[0].code).toBe('invalid_value');
162162
expect(result.error.issues[0].path).toEqual(['type']);
163163
}
164164
});
@@ -169,7 +169,7 @@ describe('Database Schemas', () => {
169169
const result = DbSetupRequestBodySchema.safeParse(invalidRequest);
170170
expect(result.success).toBe(false);
171171
if (!result.success) {
172-
expect(result.error.issues[0].code).toBe('invalid_type');
172+
expect(result.error.issues[0].code).toBe('invalid_value');
173173
expect(result.error.issues[0].path).toEqual(['type']);
174174
}
175175
});
@@ -198,7 +198,7 @@ describe('Database Schemas', () => {
198198
const result = DbSetupRequestBodySchema.safeParse(invalidRequest);
199199
expect(result.success).toBe(false);
200200
if (!result.success) {
201-
expect(result.error.issues[0].code).toBe('invalid_enum_value');
201+
expect(result.error.issues[0].code).toBe('invalid_value');
202202
expect(result.error.issues[0].path).toEqual(['type']);
203203
}
204204
});
@@ -273,7 +273,7 @@ describe('Database Schemas', () => {
273273
const result = DbStatusResponseSchema.safeParse(invalidResponse);
274274
expect(result.success).toBe(false);
275275
if (!result.success) {
276-
expect(result.error.issues[0].code).toBe('invalid_enum_value');
276+
expect(result.error.issues[0].code).toBe('invalid_value');
277277
expect(result.error.issues[0].path).toEqual(['dialect']);
278278
}
279279
});

services/backend/tests/unit/routes/globalSettings/schemas.test.ts

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ describe('Global Settings Schemas', () => {
134134
const result = CreateGlobalSettingSchema.safeParse(invalidCreate);
135135
expect(result.success).toBe(false);
136136
if (!result.success) {
137-
expect(result.error.errors[0].message).toBe('Value must match the specified type');
137+
expect(result.error.issues[0].message).toBe('Value must match the specified type');
138138
}
139139
});
140140

@@ -148,7 +148,7 @@ describe('Global Settings Schemas', () => {
148148
const result = CreateGlobalSettingSchema.safeParse(invalidCreate);
149149
expect(result.success).toBe(false);
150150
if (!result.success) {
151-
expect(result.error.errors[0].message).toBe('Value must match the specified type');
151+
expect(result.error.issues[0].message).toBe('Value must match the specified type');
152152
}
153153
});
154154

@@ -162,7 +162,7 @@ describe('Global Settings Schemas', () => {
162162
const result = CreateGlobalSettingSchema.safeParse(invalidCreate);
163163
expect(result.success).toBe(false);
164164
if (!result.success) {
165-
expect(result.error.errors[0].message).toBe('Value must match the specified type');
165+
expect(result.error.issues[0].message).toBe('Value must match the specified type');
166166
}
167167
});
168168

@@ -240,7 +240,7 @@ describe('Global Settings Schemas', () => {
240240
const result = UpdateGlobalSettingSchema.safeParse(invalidUpdate);
241241
expect(result.success).toBe(false);
242242
if (!result.success) {
243-
expect(result.error.errors[0].message).toBe('At least one field must be provided for update');
243+
expect(result.error.issues[0].message).toBe('At least one field must be provided for update');
244244
}
245245
});
246246

@@ -283,7 +283,7 @@ describe('Global Settings Schemas', () => {
283283
const result = BulkGlobalSettingsSchema.safeParse(invalidBulk);
284284
expect(result.success).toBe(false);
285285
if (!result.success) {
286-
expect(result.error.errors[0].message).toBe('At least one setting is required');
286+
expect(result.error.issues[0].message).toBe('At least one setting is required');
287287
}
288288
});
289289

@@ -326,7 +326,7 @@ describe('Global Settings Schemas', () => {
326326
const result = SearchGlobalSettingsSchema.safeParse(invalidSearch);
327327
expect(result.success).toBe(false);
328328
if (!result.success) {
329-
expect(result.error.errors[0].message).toBe('Search pattern is required');
329+
expect(result.error.issues[0].message).toBe('Search pattern is required');
330330
}
331331
});
332332

@@ -356,7 +356,7 @@ describe('Global Settings Schemas', () => {
356356
const result = CategoryFilterSchema.safeParse(invalidFilter);
357357
expect(result.success).toBe(false);
358358
if (!result.success) {
359-
expect(result.error.errors[0].message).toBe('Category is required');
359+
expect(result.error.issues[0].message).toBe('Category is required');
360360
}
361361
});
362362
});

services/backend/tests/unit/routes/roles/index.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@ describe('Roles Route', () => {
329329
expect(mockReply.send).toHaveBeenCalledWith({
330330
success: false,
331331
error: 'Validation error',
332-
details: zodError.errors,
332+
details: zodError.issues,
333333
});
334334
});
335335

@@ -495,7 +495,7 @@ describe('Roles Route', () => {
495495
expect(mockReply.send).toHaveBeenCalledWith({
496496
success: false,
497497
error: 'Validation error',
498-
details: zodError.errors,
498+
details: zodError.issues,
499499
});
500500
});
501501

0 commit comments

Comments
 (0)