Merge pull request #13444 from strapi/fix/yup-strapiID

Fix yup strapiID not working
This commit is contained in:
Pierre Noël 2022-06-01 17:14:48 +02:00 committed by GitHub
commit 98c8b53604
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 98 additions and 1 deletions

View File

@ -0,0 +1,97 @@
'use strict';
const { yup } = require('../validators');
describe('validators', () => {
describe('strapiID', () => {
test.each([
[0, true],
['0', true],
[1, true],
['1', true],
[undefined, true], // because it's not required
[{}, false],
[[], false],
[null, false],
])('yup.strapiID(): %s => %s', async (value, expectedResult) => {
let result = true;
try {
await yup.strapiID().validate(value);
} catch (e) {
result = false;
}
expect(result).toBe(expectedResult);
});
test.each([
[0, true],
['0', true],
[1, true],
['1', true],
[undefined, false],
[{}, false],
[[], false],
[null, false],
])('yup.strapiID().required(): %s => %s', async (value, expectedResult) => {
let result = true;
try {
await yup
.strapiID()
.required()
.validate(value);
} catch (e) {
result = false;
}
expect(result).toBe(expectedResult);
});
test.each([
[0, true],
['0', true],
[1, true],
['1', true],
[undefined, true],
[{}, false],
[[], false],
[null, true],
])('yup.strapiID().nullable(): %s => %s', async (value, expectedResult) => {
let result = true;
try {
await yup
.strapiID()
.nullable()
.validate(value);
} catch (e) {
result = false;
}
expect(result).toBe(expectedResult);
});
test.each([
[0, true],
['0', true],
[1, true],
['1', true],
[undefined, false],
[{}, false],
[[], false],
[null, true],
])('yup.strapiID().nullable().defined(): %s => %s', async (value, expectedResult) => {
let result = true;
try {
await yup
.strapiID()
.nullable()
.defined()
.validate(value);
} catch (e) {
result = false;
}
expect(result).toBe(expectedResult);
});
});
});

View File

@ -7,7 +7,7 @@ const utils = require('./string-formatting');
const { YupValidationError } = require('./errors');
const printValue = require('./print-value');
const MixedSchemaType = yup.mixed;
const MixedSchemaType = yup.MixedSchema;
const isNotNilTest = value => !_.isNil(value);