refactor: validate objectMetadataItem with Zod on creation and update… (#4270)
* refactor: validate objectMetadataItem with Zod on creation and update & remove logic from useObjectMetadataItemForSettings * refactor: review
This commit is contained in:
@ -0,0 +1,22 @@
|
||||
import { SafeParseError } from 'zod';
|
||||
|
||||
import { camelCaseStringSchema } from '../camelCaseStringSchema';
|
||||
|
||||
describe('camelCaseStringSchema', () => {
|
||||
it('validates a camel case string', () => {
|
||||
const result = camelCaseStringSchema.safeParse('camelCaseString');
|
||||
expect(result.success).toBe(true);
|
||||
});
|
||||
|
||||
it('fails for non-camel case strings', () => {
|
||||
const result = camelCaseStringSchema.safeParse('NotCamelCase');
|
||||
expect(result.success).toBe(false);
|
||||
expect((result as SafeParseError<string>).error.errors).toEqual([
|
||||
{
|
||||
code: 'custom',
|
||||
message: 'String should be camel case',
|
||||
path: [],
|
||||
},
|
||||
]);
|
||||
});
|
||||
});
|
||||
@ -0,0 +1,8 @@
|
||||
import camelCase from 'lodash.camelcase';
|
||||
import { z } from 'zod';
|
||||
|
||||
export const camelCaseStringSchema = z
|
||||
.string()
|
||||
.refine((value) => camelCase(value) === value, {
|
||||
message: 'String should be camel case',
|
||||
});
|
||||
Reference in New Issue
Block a user