Skip to content

Commit e64db32

Browse files
committed
Pass passwordValidate tests
1 parent 166eb49 commit e64db32

File tree

1 file changed

+56
-8
lines changed

1 file changed

+56
-8
lines changed

Sprint-3/3-stretch/password-validator.test.js

Lines changed: 56 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,59 @@ You must breakdown this problem in order to solve it. Find one test case first a
1616
*/
1717
const isValidPassword = require("./password-validator");
1818
test("password has at least 5 characters", () => {
19-
// Arrange
20-
const password = "12345";
21-
// Act
22-
const result = isValidPassword(password);
23-
// Assert
24-
expect(result).toEqual(true);
25-
}
26-
);
19+
// Arrange
20+
const password = "12345";
21+
// Act
22+
const result = isValidPassword(password);
23+
// Assert
24+
expect(result).toEqual(false);
25+
});
26+
27+
// 2. Password is too short
28+
test("password must be at least 5 characters", () => {
29+
const password = "Ab1!";
30+
const result = isValidPassword(password);
31+
expect(result).toEqual(false);
32+
});
33+
34+
// 3. Password must contain at least one uppercase letter
35+
test("password must contain at least one uppercase letter", () => {
36+
const password = "abc!1";
37+
const result = isValidPassword(password);
38+
expect(result).toEqual(false);
39+
});
40+
41+
// 4. Password must contain at least one lowercase letter
42+
test("password must contain at least one lowercase letter", () => {
43+
const password = "ABC!1";
44+
const result = isValidPassword(password);
45+
expect(result).toEqual(false);
46+
});
47+
48+
// 5. Password must contain at least one number
49+
test("password must contain at least one number", () => {
50+
const password = "Abc!@";
51+
const result = isValidPassword(password);
52+
expect(result).toEqual(false);
53+
});
54+
55+
// 6. Password must contain at least one symbol (! # $ % . * &)
56+
test("password must contain at least one symbol", () => {
57+
const password = "Abc12";
58+
const result = isValidPassword(password);
59+
expect(result).toEqual(false);
60+
});
61+
62+
// 7. Password must not be a previously used password
63+
test("password must not be in the previous passwords array", () => {
64+
const password = "Abc!1"; // this is in the passwords array inside the validator
65+
const result = isValidPassword(password);
66+
expect(result).toEqual(false);
67+
});
68+
69+
// 8. Password is valid when all requirements are met
70+
test("password is valid when it meets all requirements", () => {
71+
const password = "Abc!2";
72+
const result = isValidPassword(password);
73+
expect(result).toEqual(true);
74+
});

0 commit comments

Comments
 (0)