strapi/packages/strapi-admin/validation/__tests__/common-functions.test.js

55 lines
1.6 KiB
JavaScript
Raw Normal View History

'use strict';
const {
checkFieldsAreCorrectlyNested,
checkFieldsDontHaveDuplicates,
} = require('../common-functions');
describe('Common validation functions', () => {
describe('checkFieldsAreCorrectlyNested', () => {
const tests = [
[['name'], true],
[['name', 'description'], true],
[['name.firstname'], true],
[['name.firstname', 'name.lastname'], true],
[['name.firstname.french'], true],
[['name.firstname.french', 'firstname'], true],
[['name.firstname.french', 'french'], true],
[['name.firstname.french', 'firstname.french'], true],
[['name', 'name.firstname'], false],
[['name', 'name.firstname.french'], false],
[['name.firstname', 'name.firstname.french'], false],
[['address', 'addresses'], true],
[[], true],
[undefined, true],
[null, true],
['', false],
[3, false],
];
test.each(tests)('%p to be %p', (fields, expectedResult) => {
const result = checkFieldsAreCorrectlyNested(fields);
expect(result).toBe(expectedResult);
});
});
describe('checkFieldsDontHaveDuplicates', () => {
const tests = [
[['name'], true],
[['name', 'description'], true],
[['name', 'description', 'name'], false],
[['name.firstname', 'name.lastname'], true],
[[], true],
[undefined, true],
[null, true],
['', false],
[3, false],
];
test.each(tests)('%p to be %p', (fields, expectedResult) => {
const result = checkFieldsDontHaveDuplicates(fields);
expect(result).toBe(expectedResult);
});
});
});