UNPKG

redux-form-validators

Version:

Simple validations with redux-form / react-final-form

152 lines (118 loc) 5.19 kB
"use strict"; var _assert = _interopRequireDefault(require("assert")); var _index = _interopRequireWildcard(require("../index")); var _helper = _interopRequireDefault(require("./helper")); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj["default"] = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } var BLANK_STRINGS = ['', ' ', ' \n \t ']; function test(func, value, params) { return (0, _helper["default"])(func(params)(value)) || ''; } describe('Validator option: allowBlank', function () { it('should be invalid when `value` is blank', function () { BLANK_STRINGS.forEach(function (blank) { _assert["default"].ok(test(_index.email, blank, { allowBlank: false }).indexOf('form.errors') === 0); _assert["default"].ok(test(_index.date, blank, { format: 'mm/dd/yyyy', allowBlank: false }).indexOf('form.errors') === 0); _assert["default"].ok(test(_index.exclusion, blank, { "in": BLANK_STRINGS, allowBlank: false }).indexOf('form.errors') === 0); _assert["default"].ok(test(_index.format, blank, { "with": /^foo$/, allowBlank: false }).indexOf('form.errors') === 0); _assert["default"].ok(test(_index.inclusion, blank, { "in": [], allowBlank: false }).indexOf('form.errors') === 0); _assert["default"].ok(test(_index.length, blank, { is: 300, allowBlank: false }).indexOf('form.errors') === 0); _assert["default"].ok(test(_index.numericality, blank, { allowBlank: false }).indexOf('form.errors') === 0); _assert["default"].ok(test(_index.url, blank, { allowBlank: false }).indexOf('form.errors') === 0); _assert["default"].ok(test(_index.file, blank, { allowBlank: false }).indexOf('form.errors') === 0); }); _assert["default"].ok(test(_index.file, new FileList(), { allowBlank: false }).indexOf('form.errors') === 0); }); it('should be valid when `value` is blank with allowBlank: true', function () { BLANK_STRINGS.forEach(function (blank) { _assert["default"].ok(!test(_index.email, blank, { allowBlank: true })); _assert["default"].ok(!test(_index.date, blank, { format: 'mm/dd/yyyy', allowBlank: true })); _assert["default"].ok(!test(_index.exclusion, blank, { "in": BLANK_STRINGS, allowBlank: true })); _assert["default"].ok(!test(_index.format, blank, { "with": /^foo$/, allowBlank: true })); _assert["default"].ok(!test(_index.inclusion, blank, { "in": [], allowBlank: true })); _assert["default"].ok(!test(_index.length, blank, { is: 300, allowBlank: true })); _assert["default"].ok(!test(_index.numericality, blank, { allowBlank: true })); _assert["default"].ok(!test(_index.url, blank, { allowBlank: true })); _assert["default"].ok(!test(_index.file, blank, { allowBlank: true })); }); _assert["default"].ok(!test(_index.file, new FileList(), { allowBlank: true })); }); it('should use default allowBlank option', function () { var defaultValue = _index["default"].defaultOptions.allowBlank; [true, false].forEach(function (allowBlank) { _index["default"].defaultOptions.allowBlank = allowBlank; BLANK_STRINGS.forEach(function (blank) { _assert["default"].ok(allowBlank !== (test(_index.email, blank).indexOf('form.errors') === 0)); _assert["default"].ok(allowBlank !== (test(_index.date, blank, { format: 'mm/dd/yyyy' }).indexOf('form.errors') === 0)); _assert["default"].ok(allowBlank !== (test(_index.exclusion, blank, { "in": BLANK_STRINGS }).indexOf('form.errors') === 0)); _assert["default"].ok(allowBlank !== (test(_index.format, blank, { "with": /^foo$/ }).indexOf('form.errors') === 0)); _assert["default"].ok(allowBlank !== (test(_index.inclusion, blank, { "in": [] }).indexOf('form.errors') === 0)); _assert["default"].ok(allowBlank !== (test(_index.length, blank, { is: 300 }).indexOf('form.errors') === 0)); _assert["default"].ok(allowBlank !== (test(_index.numericality, blank).indexOf('form.errors') === 0)); _assert["default"].ok(allowBlank !== (test(_index.url, blank).indexOf('form.errors') === 0)); _assert["default"].ok(allowBlank !== (test(_index.file, blank).indexOf('form.errors') === 0)); }); }); _index["default"].defaultOptions.allowBlank = defaultValue; }); });