UNPKG

redux-form-validators

Version:

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

80 lines (57 loc) 2.17 kB
"use strict"; var _assert = _interopRequireDefault(require("assert")); var _index = require("../index"); var _helper = _interopRequireDefault(require("./helper")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function test(type, func, value) { var params = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; var allValues = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; if (!type || type === 'if') { params["if"] = function (values) { return values.foo === 'foo'; }; allValues.foo = ''; } if (!type || type === 'unless') { params.unless = function (values) { return values.bar !== 'bar'; }; allValues.bar = ''; } return (0, _helper["default"])(func(params)(value, allValues)); } describe('Validator option: if & unless', function () { it('should not return an error', function () { var blank = ''; ['', 'if', 'unless'].forEach(function (type) { // All these tests normally return an error _assert["default"].ok(!test(type, _index.absence, 'foo')); _assert["default"].ok(!test(type, _index.acceptance)); _assert["default"].ok(!test(type, _index.confirmation, 'foo', { field: 'bar' }, {})); _assert["default"].ok(!test(type, _index.email, blank)); _assert["default"].ok(!test(type, _index.date, blank, { format: 'mm/dd/yyyy' })); _assert["default"].ok(!test(type, _index.exclusion, blank, { "in": [blank] })); _assert["default"].ok(!test(type, _index.file, blank, { minFiles: 9 })); _assert["default"].ok(!test(type, _index.format, blank, { "with": /^foo$/ })); _assert["default"].ok(!test(type, _index.inclusion, blank, { "in": [] })); _assert["default"].ok(!test(type, _index.length, blank, { is: 300 })); _assert["default"].ok(!test(type, _index.numericality, blank)); _assert["default"].ok(!test(type, _index.presence, blank)); _assert["default"].ok(!test(type, _index.url, blank)); }); }); });