File tree Expand file tree Collapse file tree 2 files changed +49
-12
lines changed Expand file tree Collapse file tree 2 files changed +49
-12
lines changed Original file line number Diff line number Diff line change 1+ const oldPassword = [ "Asasu.12345" , "Ha#999" ] ;
12function passwordValidator ( password ) {
2- return password . length < 5 ? false : true
3- }
4-
3+ if ( password . length < 5 ) {
4+ return false ;
5+ }
6+ const hasUppercase = / [ A - Z ] / . test ( password ) ;
7+ if ( ! hasUppercase ) {
8+ return false ;
9+ }
10+ const hasLowercase = / [ a - z ] / . test ( password ) ;
11+ if ( ! hasLowercase ) {
12+ return false ;
13+ }
14+ const hasaNum = / [ 0 - 9 ] / . test ( password ) ;
15+ if ( ! hasaNum ) {
16+ return false ;
17+ }
18+ const hasSpecial = / [ ! # $ % . * & ] / . test ( password ) ;
19+ if ( ! hasSpecial ) {
20+ return false ;
21+ }
522
6- module . exports = passwordValidator ;
23+ if ( oldPassword . includes ( password ) ) {
24+ return false ;
25+ }
26+ return true ;
27+ }
28+ module . exports = passwordValidator ;
Original file line number Diff line number Diff line change @@ -16,11 +16,26 @@ You must breakdown this problem in order to solve it. Find one test case first a
1616*/
1717const isValidPassword = require ( "./password-validator" ) ;
1818test ( "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 = "As.2" ;
21+ // Act
22+ const result = isValidPassword ( password ) ;
23+ // Assert
24+ expect ( result ) . toEqual ( false ) ;
25+ } ) ;
26+ test ( "Given valid password should return true" , ( ) => {
27+ // Arrange
28+ const password = "Wdsd.77" ;
29+ // Act
30+ const result = isValidPassword ( password ) ;
31+ // Assert
32+ expect ( result ) . toBe ( true ) ;
33+ } ) ;
34+ test ( "password Must not be any previous password in the passwords array" , ( ) => {
35+ // Arrange
36+ const password = "Ha#999" ;
37+ // Act
38+ const result = isValidPassword ( password ) ;
39+ // Assert
40+ expect ( result ) . toBe ( false ) ;
41+ } ) ;
You can’t perform that action at this time.
0 commit comments