mirror of
https://github.com/scratchfoundation/scratch-www.git
synced 2025-03-10 21:28:34 -04:00
add tests for local email validation
This commit is contained in:
parent
fa91a57b35
commit
ee8cdac748
1 changed files with 48 additions and 0 deletions
|
@ -63,4 +63,52 @@ describe('unit test lib/validate.js', () => {
|
|||
response = validate.validatePasswordConfirm('', 'abcdefg');
|
||||
expect(response).toEqual({valid: false, errMsgId: 'registration.validationPasswordConfirmNotEquals'});
|
||||
});
|
||||
|
||||
test('validate email address locally', () => {
|
||||
let response;
|
||||
expect(typeof validate.validateEmailLocally).toBe('function');
|
||||
|
||||
// permitted addresses:
|
||||
response = validate.validateEmailLocally('abc@def.com');
|
||||
expect(response).toEqual({valid: true});
|
||||
response = validate.validateEmailLocally('abcdefghijklmnopqrst@abcdefghijklmnopqrst.info');
|
||||
expect(response).toEqual({valid: true});
|
||||
response = validate.validateEmailLocally('abc-def-ghi@jkl-mno.org');
|
||||
expect(response).toEqual({valid: true});
|
||||
response = validate.validateEmailLocally('_______@example.com');
|
||||
expect(response).toEqual({valid: true});
|
||||
response = validate.validateEmailLocally('email@example.museum');
|
||||
expect(response).toEqual({valid: true});
|
||||
response = validate.validateEmailLocally('email@example.co.jp');
|
||||
expect(response).toEqual({valid: true});
|
||||
|
||||
// non-permitted addresses:
|
||||
response = validate.validateEmailLocally('');
|
||||
expect(response).toEqual({valid: false, errMsgId: 'general.required'});
|
||||
response = validate.validateEmailLocally('a');
|
||||
expect(response).toEqual({valid: false, errMsgId: 'registration.validationEmailInvalid'});
|
||||
response = validate.validateEmailLocally('abc@def');
|
||||
expect(response).toEqual({valid: false, errMsgId: 'registration.validationEmailInvalid'});
|
||||
response = validate.validateEmailLocally('abc@def.c');
|
||||
expect(response).toEqual({valid: false, errMsgId: 'registration.validationEmailInvalid'});
|
||||
response = validate.validateEmailLocally('abc😄def@emoji.pizza');
|
||||
expect(response).toEqual({valid: false, errMsgId: 'registration.validationEmailInvalid'});
|
||||
response = validate.validateEmailLocally('あいうえお@example.com');
|
||||
expect(response).toEqual({valid: false, errMsgId: 'registration.validationEmailInvalid'});
|
||||
response = validate.validateEmailLocally('Abc..123@example.com');
|
||||
expect(response).toEqual({valid: false, errMsgId: 'registration.validationEmailInvalid'});
|
||||
response = validate.validateEmailLocally('Joe Smith <email@example.com>');
|
||||
expect(response).toEqual({valid: false, errMsgId: 'registration.validationEmailInvalid'});
|
||||
response = validate.validateEmailLocally('email@example@example.com');
|
||||
expect(response).toEqual({valid: false, errMsgId: 'registration.validationEmailInvalid'});
|
||||
response = validate.validateEmailLocally('email@example..com');
|
||||
expect(response).toEqual({valid: false, errMsgId: 'registration.validationEmailInvalid'});
|
||||
|
||||
// edge cases:
|
||||
// these are strictly legal according to email addres spec, but rejected by library we use:
|
||||
response = validate.validateEmailLocally('email@123.123.123.123');
|
||||
expect(response).toEqual({valid: false, errMsgId: 'registration.validationEmailInvalid'});
|
||||
response = validate.validateEmailLocally('much."more unusual"@example.com');
|
||||
expect(response).toEqual({valid: false, errMsgId: 'registration.validationEmailInvalid'});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue