123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- import assert from 'assert';
- import * as validators from 'misago/utils/validators';
- describe("Validator", function() {
- it("required validator", function() {
- assert.equal(validators.required()('yup'), undefined,
- "non-empty string passed validation.");
- assert.equal(
- validators.required()(' '), gettext("This field is required."),
- "empty string failed validation.");
- });
- it("email validator", function() {
- assert.equal(validators.email()('simple@email.com'), undefined,
- "simple e-mail passed validation.");
- assert.equal(validators.email()('si.mp.le@ema.il.com'), undefined,
- "dotted e-mail passed validation.");
- assert.equal(validators.email()('si-mp-le@ema-il.com'), undefined,
- "hyphenated e-mail passed validation.");
- assert.equal(validators.email()('si_mp_le@ema_il.com'), undefined,
- "underscored e-mail passed validation.");
- assert.equal(validators.email()('si+mp+le@email.com'), undefined,
- "plused e-mail passed validation.");
- assert.equal(validators.email('Nope!')('hh'), 'Nope!',
- "non-email errored with message providen.");
- });
- it("minLength validator", function() {
- assert.equal(validators.minLength(5)('yusss'), undefined,
- "string of required length passed validation.");
- assert.equal(
- validators.minLength(5)('nope'),
- "Ensure this value has at least 5 characters (it has 4).",
- "too short string failed validation.");
- });
- it("maxLength validator", function() {
- assert.equal(validators.maxLength(5)('yusss'), undefined,
- "string of required length passed validation.");
- assert.equal(
- validators.maxLength(5)('too long!'),
- "Ensure this value has at most 5 characters (it has 9).",
- "too long string failed validation.");
- });
- it("usernameMinLength validator", function() {
- var settings = {
- username_length_min: 4
- };
- assert.equal(
- validators.usernameMinLength(settings)('yusss'), undefined,
- "username of required length passed validation.");
- assert.equal(
- validators.usernameMinLength(settings)('no'),
- "Username must be at least 4 characters long.",
- "too short username failed validation.");
- });
- it("usernameMaxLength validator", function() {
- var settings = {
- username_length_max: 4
- };
- assert.equal(
- validators.usernameMaxLength(settings)('yuss'), undefined,
- "username of required length passed validation.");
- assert.equal(
- validators.usernameMaxLength(settings)('too long!'),
- "Username cannot be longer than 4 characters.",
- "too long username failed validation.");
- });
- it("username validator", function() {
- assert.equal(validators.usernameContent()('v4lid'), undefined,
- "valid username passed validation.");
- assert.equal(
- validators.usernameContent()('++++'),
- "Username can only contain latin alphabet letters and digits.",
- "invalid username failed validation.");
- });
- it("passwordMinLength validator", function() {
- var settings = {
- password_length_min: 4
- };
- assert.equal(
- validators.passwordMinLength(settings)('yusss'), undefined,
- "password of required length passed validation.");
- assert.equal(
- validators.passwordMinLength(settings)('no'),
- "Valid password must be at least 4 characters long.",
- "too short password failed validation.");
- });
- });
|