Skip to content

Commit e0b8936

Browse files
committed
changes made, implemented and tested.
1 parent de4bc3e commit e0b8936

File tree

2 files changed

+40
-61
lines changed

2 files changed

+40
-61
lines changed
Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
1-
function passwordValidator(password) {
2-
// return password.length < 5 ? false : true
3-
4-
return (password.length < 5 &&
5-
/[A-Za-z]/.test(password)&&
6-
/[! # $ % .* &]/.test(password)&&
7-
/[0-9]/.test(password)&&
8-
!previousPasswords.includes(password)
9-
);
1+
function isValidPassword(password, previousPasswords = []) {
2+
return (
3+
password.length >= 5 &&
4+
/[A-Z]/.test(password) &&
5+
/[a-z]/.test(password) &&
6+
/[0-9]/.test(password) &&
7+
/[!#$%.*&]/.test(password) &&
8+
!previousPasswords.includes(password)
9+
);
1010
}
1111

1212

13-
module.exports = passwordValidator;
13+
module.exports = isValidPassword;

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

Lines changed: 30 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -15,66 +15,45 @@ To be valid, a password must:
1515
You must breakdown this problem in order to solve it. Find one test case first and get that working
1616
*/
1717
const isValidPassword = require("./password-validator");
18+
const previousPasswords = ["Mmd1!", "XyZ2$", "Tes5%"];
19+
1820

1921
test("password has at least 5 characters", () => {
20-
// Arrange
21-
const password = "12345";
22-
// Act
23-
const result = isValidPassword(password);
24-
// Assert
25-
expect(result).toEqual(true);
26-
}
27-
);
22+
const password = "Ki55$";
23+
const result = isValidPassword(password, previousPasswords); // pass the array
24+
expect(result).toEqual(true);
25+
});
2826

29-
//
30-
test("password has at least one English uppercase letter (A-Z)", () => {
31-
// Arrange
32-
const password = "A2345";
33-
// Act
34-
const result = isValidPassword(password);
35-
// Assert
36-
expect(result).toEqual(true);
37-
}
38-
);
27+
test("password has at least one uppercase", () => {
28+
const password = "Uo85*";
29+
const result = isValidPassword(password, previousPasswords);
30+
expect(result).toEqual(true);npx
31+
});
3932

40-
//
41-
test("password has least one English lowercase letter (a-z)", () => {
42-
// Arrange
43-
const password = "Da2345";
44-
// Act
45-
const result = isValidPassword(password);
46-
// Assert
47-
expect(result).toEqual(true);
48-
}
49-
);
33+
test("password has at least one lowercase", () => {
34+
const password = "Qf#45";
35+
const result = isValidPassword(password, previousPasswords);
36+
expect(result).toEqual(true);
37+
});
5038

51-
//
52-
test("password has at least one number 0-9)", () => {
53-
// Arrange
54-
const password = "Cz!345";
55-
// Act
56-
const result = isValidPassword(password);
57-
// Assert
58-
expect(result).toEqual(true);
59-
}
60-
);
39+
test("password has at least one number", () => {
40+
const password = "Cz!35";
41+
const result = isValidPassword(password, previousPasswords);
42+
expect(result).toEqual(true);
43+
});
6144

62-
test("password has at least one non-alphanumeric symbols: !, #, $, %, ., *, &)", () => {
63-
// Arrange
64-
const password = "Cz!345";
65-
// Act
66-
const result = isValidPassword(password);
67-
// Assert
68-
expect(result).toEqual(true);
69-
}
70-
);
45+
test("password has at least one special symbol", () => {
46+
const password = "Re*19";
47+
const result = isValidPassword(password, previousPasswords);
48+
expect(result).toEqual(true);
49+
});
7150

72-
//
7351
test("password must not be a previous password", () => {
74-
const previousPasswords = ["Mmd1!", "XyZ2$", "Test10%"];
75-
const password = "Mmd1";
52+
const password = "Mmd1!";
7653
const result = isValidPassword(password, previousPasswords);
7754
expect(result).toEqual(false);
55+
7856
});
7957

80-
// Password-validator implemented and tested.
58+
59+
// Password-validator implemented and tested.

0 commit comments

Comments
 (0)