feat: Add missing password validation at signup (#4441)
Co-authored-by: Pranav Raj S <pranav@chatwoot.com>
This commit is contained in:
parent
c64e2e3bc5
commit
14503b5fe0
4 changed files with 49 additions and 7 deletions
|
@ -2,3 +2,17 @@ export const isPhoneE164 = value => !!value.match(/^\+[1-9]\d{1,14}$/);
|
|||
export const isPhoneE164OrEmpty = value => isPhoneE164(value) || value === '';
|
||||
export const shouldBeUrl = (value = '') =>
|
||||
value ? value.startsWith('http') : true;
|
||||
export const isValidPassword = value => {
|
||||
const containsUppercase = /[A-Z]/.test(value);
|
||||
const containsLowercase = /[a-z]/.test(value);
|
||||
const containsNumber = /[0-9]/.test(value);
|
||||
const containsSpecialCharacter = /[!@#$%^&*()_+\-=[\]{}|'"/\\.,`<>:;?~]/.test(
|
||||
value
|
||||
);
|
||||
return (
|
||||
containsUppercase &&
|
||||
containsLowercase &&
|
||||
containsNumber &&
|
||||
containsSpecialCharacter
|
||||
);
|
||||
};
|
||||
|
|
|
@ -1,7 +1,24 @@
|
|||
import { shouldBeUrl } from '../Validators';
|
||||
import { isValidPassword } from '../Validators';
|
||||
|
||||
describe('#shouldBeUrl', () => {
|
||||
it('should return correct url', () => {
|
||||
expect(shouldBeUrl('http')).toEqual(true);
|
||||
});
|
||||
});
|
||||
|
||||
describe('#isValidPassword', () => {
|
||||
it('should return correct password', () => {
|
||||
expect(isValidPassword('testPass4!')).toEqual(true);
|
||||
expect(isValidPassword('testPass4-')).toEqual(true);
|
||||
expect(isValidPassword('testPass4\\')).toEqual(true);
|
||||
expect(isValidPassword("testPass4'")).toEqual(true);
|
||||
});
|
||||
|
||||
it('should return wrong password', () => {
|
||||
expect(isValidPassword('testpass4')).toEqual(false);
|
||||
expect(isValidPassword('testPass4')).toEqual(false);
|
||||
expect(isValidPassword('testpass4!')).toEqual(false);
|
||||
expect(isValidPassword('testPass!')).toEqual(false);
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue