mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2024-12-02 11:59:07 -05:00
46de5a23e1
handle username validation errors states better
66 lines
3.9 KiB
JavaScript
66 lines
3.9 KiB
JavaScript
const validate = require('../../../src/lib/validate');
|
|
|
|
describe('unit test lib/validate.js', () => {
|
|
test('validate username locally', () => {
|
|
let response;
|
|
expect(typeof validate.validateUsernameLocally).toBe('function');
|
|
response = validate.validateUsernameLocally('abc');
|
|
expect(response).toEqual({valid: true});
|
|
response = validate.validateUsernameLocally('abcdefghijklmnopqrst');
|
|
expect(response).toEqual({valid: true});
|
|
response = validate.validateUsernameLocally('abc-def-ghi');
|
|
expect(response).toEqual({valid: true});
|
|
response = validate.validateUsernameLocally('');
|
|
expect(response).toEqual({valid: false, errMsgId: 'general.required'});
|
|
response = validate.validateUsernameLocally('ab');
|
|
expect(response).toEqual({valid: false, errMsgId: 'registration.validationUsernameMinLength'});
|
|
response = validate.validateUsernameLocally('abcdefghijklmnopqrstu');
|
|
expect(response).toEqual({valid: false, errMsgId: 'registration.validationUsernameMaxLength'});
|
|
response = validate.validateUsernameLocally('abc def');
|
|
expect(response).toEqual({valid: false, errMsgId: 'registration.validationUsernameRegexp'});
|
|
response = validate.validateUsernameLocally('abc!def');
|
|
expect(response).toEqual({valid: false, errMsgId: 'registration.validationUsernameRegexp'});
|
|
response = validate.validateUsernameLocally('abc😄def');
|
|
expect(response).toEqual({valid: false, errMsgId: 'registration.validationUsernameRegexp'});
|
|
});
|
|
|
|
test('validate password', () => {
|
|
let response;
|
|
expect(typeof validate.validatePassword).toBe('function');
|
|
response = validate.validatePassword('abcdef');
|
|
expect(response).toEqual({valid: true});
|
|
response = validate.validatePassword('abcdefghijklmnopqrst');
|
|
expect(response).toEqual({valid: true});
|
|
response = validate.validatePassword('passwo');
|
|
expect(response).toEqual({valid: true});
|
|
response = validate.validatePassword('');
|
|
expect(response).toEqual({valid: false, errMsgId: 'general.required'});
|
|
response = validate.validatePassword('abcde');
|
|
expect(response).toEqual({valid: false, errMsgId: 'registration.validationPasswordLength'});
|
|
response = validate.validatePassword('password');
|
|
expect(response).toEqual({valid: false, errMsgId: 'registration.validationPasswordNotEquals'});
|
|
response = validate.validatePassword('abcdefg', 'abcdefg');
|
|
expect(response).toEqual({valid: false, errMsgId: 'registration.validationPasswordNotUsername'});
|
|
response = validate.validatePassword('abcdefg', 'abcdefG');
|
|
expect(response).toEqual({valid: true});
|
|
});
|
|
|
|
test('validate password confirm', () => {
|
|
let response;
|
|
expect(typeof validate.validatePasswordConfirm).toBe('function');
|
|
response = validate.validatePasswordConfirm('abcdef', 'abcdef');
|
|
expect(response).toEqual({valid: true});
|
|
response = validate.validatePasswordConfirm('abcdefghijklmnopqrst', 'abcdefghijklmnopqrst');
|
|
expect(response).toEqual({valid: true});
|
|
response = validate.validatePasswordConfirm('passwo', 'passwo');
|
|
expect(response).toEqual({valid: true});
|
|
response = validate.validatePasswordConfirm('', '');
|
|
expect(response).toEqual({valid: false, errMsgId: 'general.required'});
|
|
response = validate.validatePasswordConfirm('abcdef', 'abcdefg');
|
|
expect(response).toEqual({valid: false, errMsgId: 'registration.validationPasswordConfirmNotEquals'});
|
|
response = validate.validatePasswordConfirm('abcdef', '123456');
|
|
expect(response).toEqual({valid: false, errMsgId: 'registration.validationPasswordConfirmNotEquals'});
|
|
response = validate.validatePasswordConfirm('', 'abcdefg');
|
|
expect(response).toEqual({valid: false, errMsgId: 'registration.validationPasswordConfirmNotEquals'});
|
|
});
|
|
});
|