-
Notifications
You must be signed in to change notification settings - Fork 149
Expand file tree
/
Copy pathvalidateRegisterForm.test.js
More file actions
128 lines (97 loc) · 3.59 KB
/
validateRegisterForm.test.js
File metadata and controls
128 lines (97 loc) · 3.59 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
'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(`success message for the valid input`, () => {
const result = validateRegisterForm('test@mail.com', 'P@ssword1!Абс');
expect(result.code).toBe(200);
expect(result.message).toBe('Email and password are valid.');
});
it(`error for valid email and password missing digit`, () => {
const result = validateRegisterForm('test@mail.com', 'P@ssword!');
expect(result.code).toBe(422);
expect(result.message).toBe('Password is invalid.');
});
it(`error for valid email and password missing special char`, () => {
const result = validateRegisterForm('test@mail.com', 'Password1');
expect(result.code).toBe(422);
expect(result.message).toBe('Password is invalid.');
});
it(`error for valid email and password missing uppercase letter`, () => {
const result = validateRegisterForm('test@mail.com', 'password!1');
expect(result.code).toBe(422);
expect(result.message).toBe('Password is invalid.');
});
it(`error for valid email and password length < 8`, () => {
const result = validateRegisterForm('test@mail.com', 'Test!1');
expect(result.code).toBe(422);
expect(result.message).toBe('Password is invalid.');
});
it(`error for valid email and password length > 16`, () => {
const result = validateRegisterForm(
'test@mail.com', 'TestPassword!123456789'
);
expect(result.code).toBe(422);
expect(result.message).toBe('Password is invalid.');
});
it(`error for empty password`, () => {
const result = validateRegisterForm('test@mail.com', '');
expect(result.code).toBe(422);
expect(result.message).toBe('Password is invalid.');
});
it(`error for empty email`, () => {
const result = validateRegisterForm(
'', 'Password!1'
);
expect(result.code).toBe(422);
expect(result.message).toBe('Email is invalid.');
});
it(`error for email missing english letters`, () => {
const result = validateRegisterForm(
'тест@mail.com', 'Password!1'
);
expect(result.code).toBe(422);
expect(result.message).toBe('Email is invalid.');
});
it(`error for email missing @`, () => {
const result = validateRegisterForm(
'testmail.com', 'Password!1'
);
expect(result.code).toBe(422);
expect(result.message).toBe('Email is invalid.');
});
it(`error for email if top level domain start with dot`, () => {
const result = validateRegisterForm(
'test@.mail.com', 'Password!1'
);
expect(result.code).toBe(422);
expect(result.message).toBe('Email is invalid.');
});
it(`error for email if email start with dot`, () => {
const result = validateRegisterForm(
'.test@mail.com', 'Password!1'
);
expect(result.code).toBe(422);
expect(result.message).toBe('Email is invalid.');
});
it(`error for email if email has double dots`, () => {
const result = validateRegisterForm(
'te..st@mail.com', 'Password!1'
);
expect(result.code).toBe(422);
expect(result.message).toBe('Email is invalid.');
});
it(`error for not valid email and password`, () => {
const result = validateRegisterForm(
'te..st@mail.com', 'Password'
);
expect(result.code).toBe(500);
expect(result.message).toBe('Password and email are invalid.');
});
});