UNPKG

formgen-react

Version:

Formula generator with JSON for react. UI Fabric controls are used for rendering

78 lines (67 loc) 4.03 kB
import { Validators } from "./Validators"; describe('Simple form validators test', () => { let customMessage = 'Custom Error Message'; it('Integer validator', () => { expect(Validators.isInteger(customMessage)(null)).toBeFalsy(); expect(Validators.isInteger(customMessage)(undefined)).toBeFalsy(); expect(Validators.isInteger(customMessage)('4.1')).toEqual(customMessage); expect(Validators.isInteger(customMessage)('4')).toBeFalsy(); expect(Validators.isInteger(customMessage)('4.0')).toBeFalsy(); }); it('Length validator', () => { expect(Validators.length(4, () => customMessage)('----')).toBeFalsy(); expect(Validators.length(4, () => customMessage)('-----')).toBeTruthy(); expect(Validators.length(4, () => customMessage)(null)).toEqual(customMessage); expect(Validators.length(4, () => customMessage)(undefined)).toEqual(customMessage); }); it('MinLength validator', () => { expect(Validators.minLength(4, () => customMessage)('----')).toBeFalsy(); expect(Validators.minLength(4, () => customMessage)('-----')).toBeFalsy(); expect(Validators.minLength(4, () => customMessage)('---')).toEqual(customMessage); expect(Validators.minLength(4, () => customMessage)(null)).toEqual(customMessage); expect(Validators.minLength(4, () => customMessage)(undefined)).toEqual(customMessage); }); it('MaxLength validator', () => { expect(Validators.maxLength(4, () => customMessage)(null)).toBeFalsy(); expect(Validators.maxLength(4, () => customMessage)(undefined)).toBeFalsy(); expect(Validators.maxLength(4, () => customMessage)('----')).toBeFalsy(); expect(Validators.maxLength(4, () => customMessage)('-----')).toEqual(customMessage); }); it('MinValue validator', () => { expect(Validators.minValue(4, () => customMessage)(null)).toBeFalsy(); expect(Validators.minValue(4, () => customMessage)(undefined)).toBeFalsy(); expect(Validators.minValue(4, () => customMessage)('----')).toBeFalsy(); expect(Validators.minValue(4, () => customMessage)('3')).toEqual(customMessage); expect(Validators.minValue(4, () => customMessage)('5')).toBeFalsy(); expect(Validators.minValue(0, () => customMessage)('.8')).toBeFalsy(); }); it('MaxValue validator', () => { expect(Validators.maxValue(4, () => customMessage)(null)).toBeFalsy(); expect(Validators.maxValue(4, () => customMessage)(undefined)).toBeFalsy(); expect(Validators.maxValue(4, () => customMessage)('----')).toBeFalsy(); expect(Validators.maxValue(4, () => customMessage)('5')).toEqual(customMessage); expect(Validators.maxValue(4, () => customMessage)('3')).toBeFalsy(); expect(Validators.maxValue(4, () => customMessage)('.8')).toBeFalsy(); }); it('Regex validator', () => { expect(Validators.regex(/^(.)*$/, customMessage)('anything')).toBeFalsy(); expect(Validators.regex(/^([0-9])*$/, customMessage)('10202')).toBeFalsy(); expect(Validators.regex(/^([0-9])*$/, customMessage)('letters')).toEqual(customMessage); }); it('Number validator', () => { expect(Validators.isNumber(customMessage)('abcd')).toEqual(customMessage); expect(Validators.isNumber(customMessage)(null)).toBeFalsy(); expect(Validators.isNumber(customMessage)('')).toBeFalsy(); expect(Validators.isNumber(customMessage)('10')).toBeFalsy(); expect(Validators.isNumber(customMessage)('10.1')).toBeFalsy(); }); it('Required validator', () => { expect(Validators.required(customMessage)(null)).toEqual(customMessage); expect(Validators.required(customMessage)(undefined)).toEqual(customMessage); expect(Validators.required(customMessage)('')).toEqual(customMessage); let arrayObject:string[] = []; expect(Validators.required(customMessage)(arrayObject)).toEqual(customMessage); expect(Validators.required(customMessage)(0)).toBeFalsy(); expect(Validators.required(customMessage)('HelloWorld')).toBeFalsy(); }); });