-
Notifications
You must be signed in to change notification settings - Fork 149
Expand file tree
/
Copy pathvalidateRegisterForm.test.js
More file actions
142 lines (105 loc) · 4.81 KB
/
validateRegisterForm.test.js
File metadata and controls
142 lines (105 loc) · 4.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
'use strict';
describe(`Function 'validateRegisterForm':`, () => {
const validateRegisterForm = require('./validateRegisterForm');
it(`should be declared`, () => {
expect(validateRegisterForm).toBeInstanceOf(Function);
});
it(`should return object`, () => {
expect(typeof validateRegisterForm('test@mail.com', 'P@ssword1!'))
.toBe('object');
});
it(`should return success message for the valid input`, () => {
const isValid = validateRegisterForm('test@mail.com', 'P@ssword1!');
expect(isValid.code).toBe(200);
expect(isValid.message).toBe('Email and password are valid.');
});
it(`should return error for valid email and password without number`, () => {
const invalidPassword = validateRegisterForm('test@mail.com', 'P@ssword');
expect(invalidPassword.code).toBe(422);
expect(invalidPassword.message).toBe('Password is invalid.');
});
it(`should return error for valid email
and password without special character`, () => {
const invalidPassword = validateRegisterForm('test@mail.com', 'Pssword12');
expect(invalidPassword.code).toBe(422);
expect(invalidPassword.message).toBe('Password is invalid.');
});
it(`should return error for valid email
and password without uppercase letter`, () => {
const invalidPassword = validateRegisterForm('test@mail.com', 'p@ssword1!');
expect(invalidPassword.code).toBe(422);
expect(invalidPassword.message).toBe('Password is invalid.');
});
it(`should return error for at least 8 characters inclusive`, () => {
const invalidPassword = validateRegisterForm('test@mail.com', 'P@wod1!');
expect(invalidPassword.code).toBe(422);
expect(invalidPassword.message).toBe('Password is invalid.');
});
it(`should return error for max 16 characters inclusive`, () => {
const invalidPassword = validateRegisterForm('test@mail.com',
'P@ssword1!p234578');
expect(invalidPassword.code).toBe(422);
expect(invalidPassword.message).toBe('Password is invalid.');
});
it(`should return error for not English letters`, () => {
const invalidPassword = validateRegisterForm('Тест@mail.com', 'P@ssword1!');
expect(invalidPassword.code).toBe(422);
expect(invalidPassword.message).toBe('Email is invalid.');
});
it(`should return error when @ is not added`, () => {
const invalidPassword = validateRegisterForm('testmail.com', 'P@ssword1!');
expect(invalidPassword.code).toBe(422);
expect(invalidPassword.message).toBe('Email is invalid.');
});
it(`should pass if we have digits`, () => {
const isValid = validateRegisterForm('test123@mail.com', 'P@ssword1!');
expect(isValid.code).toBe(200);
expect(isValid.message).toBe('Email and password are valid.');
});
it(`should pass if we have some characters`, () => {
const isValid = validateRegisterForm('test_nik-ch@mail.com', 'P@ssword1!');
expect(isValid.code).toBe(200);
expect(isValid.message).toBe('Email and password are valid.');
});
it(`should pass if password containing Cyrillic letters`, () => {
const invalidPassword = validateRegisterForm('test@mail.com',
'Passwпароль1@');
expect(invalidPassword.code).toBe(200);
expect(invalidPassword.message).toBe('Email and password are valid.');
});
it(`should return error when double dots added`, () => {
const invalidPassword = validateRegisterForm('test..myk@mail.com',
'P@ssword1!');
expect(invalidPassword.code).toBe(422);
expect(invalidPassword.message).toBe('Email is invalid.');
});
it(`should return error when email be start with .`, () => {
const invalidPassword = validateRegisterForm('.test@mail.com',
'P@ssword1!');
expect(invalidPassword.code).toBe(422);
expect(invalidPassword.message).toBe('Email is invalid.');
});
it(`should return error when email ends with .`, () => {
const invalidPassword = validateRegisterForm('test/@mail.com.',
'P@ssword1!');
expect(invalidPassword.code).toBe(422);
expect(invalidPassword.message).toBe('Email is invalid.');
});
it(`should return error when top Level domain can not start with dot`, () => {
const invalidPassword = validateRegisterForm('test@.mail.com',
'P@ssword1!');
expect(invalidPassword.code).toBe(422);
expect(invalidPassword.message).toBe('Email is invalid.');
});
it(`should return error when don't have domain Level`, () => {
const invalidPassword = validateRegisterForm('test@com',
'P@ssword1!');
expect(invalidPassword.code).toBe(422);
expect(invalidPassword.message).toBe('Email is invalid.');
});
it(`should return error for invalid email and password`, () => {
const invalidPassword = validateRegisterForm('test@com', 'ssword1');
expect(invalidPassword.code).toBe(500);
expect(invalidPassword.message).toBe('Password and email are invalid.');
});
});