@@ -15,12 +15,45 @@ To be valid, a password must:
1515You must breakdown this problem in order to solve it. Find one test case first and get that working
1616*/
1717const isValidPassword = require ( "./password-validator" ) ;
18+ const previousPasswords = [ "Mmd1!" , "XyZ2$" , "Tes5%" ] ;
19+
20+
1821test ( "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- ) ;
22+ const password = "Ki55$" ;
23+ const result = isValidPassword ( password , previousPasswords ) ; // pass the array
24+ expect ( result ) . toEqual ( true ) ;
25+ } ) ;
26+
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+ } ) ;
32+
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+ } ) ;
38+
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+ } ) ;
44+
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+ } ) ;
50+
51+ test ( "password must not be a previous password" , ( ) => {
52+ const password = "Mmd1!" ;
53+ const result = isValidPassword ( password , previousPasswords ) ;
54+ expect ( result ) . toEqual ( false ) ;
55+
56+ } ) ;
57+
58+
59+ // Password-validator implemented and tested.
0 commit comments