Files
OverlayScrollbars/packages/overlayscrollbars/test/jest-jsdom/plugins/optionsValidation/optionsValidation.test.ts
T
2022-10-18 00:26:09 +02:00

37 lines
984 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);
});
});