redux-form-validators
Version:
Simple validations with redux-form / react-final-form
152 lines (118 loc) • 5.19 kB
JavaScript
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;
});
});
;