mirror of
https://github.com/strapi/strapi.git
synced 2025-08-03 14:28:40 +00:00
77 lines
1.6 KiB
JavaScript
77 lines
1.6 KiB
JavaScript
'use strict';
|
|
|
|
const yup = require('yup');
|
|
const { formatYupErrors } = require('../validators');
|
|
|
|
describe('Format yup errors', () => {
|
|
test('Format single errors', async () => {
|
|
expect.hasAssertions();
|
|
return yup
|
|
.object({
|
|
name: yup.string().required('name is required'),
|
|
})
|
|
.validate({})
|
|
.catch(err => {
|
|
expect(formatYupErrors(err)).toMatchObject({
|
|
name: ['name is required'],
|
|
});
|
|
});
|
|
});
|
|
|
|
test('Format multiple errors', async () => {
|
|
expect.hasAssertions();
|
|
return yup
|
|
.object({
|
|
name: yup
|
|
.string()
|
|
.min(2, 'min length is 2')
|
|
.required(),
|
|
})
|
|
.validate(
|
|
{
|
|
name: '1',
|
|
},
|
|
{
|
|
strict: true,
|
|
abortEarly: false,
|
|
}
|
|
)
|
|
.catch(err => {
|
|
expect(formatYupErrors(err)).toMatchObject({
|
|
name: ['min length is 2'],
|
|
});
|
|
});
|
|
});
|
|
|
|
test('Format multiple errors on multiple keys', async () => {
|
|
expect.hasAssertions();
|
|
return yup
|
|
.object({
|
|
name: yup
|
|
.string()
|
|
.min(2, 'min length is 2')
|
|
.typeError('name must be a string')
|
|
.required(),
|
|
price: yup
|
|
.number()
|
|
.integer()
|
|
.required('price is required'),
|
|
})
|
|
.validate(
|
|
{
|
|
name: 12,
|
|
},
|
|
{
|
|
strict: true,
|
|
abortEarly: false,
|
|
}
|
|
)
|
|
.catch(err => {
|
|
expect(formatYupErrors(err)).toMatchObject({
|
|
price: ['price is required'],
|
|
name: ['name must be a string'],
|
|
});
|
|
});
|
|
});
|
|
});
|