Files
OverlayScrollbars/packages/overlayscrollbars/tests/jest/plugins/optionsValidation/optionsValidation.test.ts
T
2022-07-29 17:05:59 +02:00

37 lines
980 B
TypeScript

import { defaultOptions } from 'options';
import {
optionsValidationPlugin,
optionsValidationPluginName,
} from 'plugins/optionsValidationPlugin';
const getValidationFn = () => {
const name = Object.keys(optionsValidationPlugin)[0];
const instance = optionsValidationPlugin[name];
const validationFn = instance._;
expect(name).toBe(optionsValidationPluginName);
expect(typeof validationFn).toBe('function');
return validationFn;
};
describe('optionsValidationPlugin', () => {
test('default options matching the options template', () => {
const validationFn = getValidationFn();
expect(validationFn(defaultOptions)).toEqual(defaultOptions);
});
test('foreign options are in the result', () => {
const validationFn = getValidationFn();
const foreignOps = {
someOption: true,
someDeepOption: {
someDeepOption: false,
},
};
// @ts-ignore
expect(validationFn(foreignOps)).toEqual(foreignOps);
});
});