@@ -15,12 +15,48 @@ 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- 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- ) ;
18+
19+ test ( "invalid password (numbers only)" , ( ) => {
20+ // Arrange
21+ const password = "12345" ;
22+ // Act
23+ const result = isValidPassword ( password ) ;
24+ // Assert
25+ expect ( result ) . toEqual ( false ) ;
26+ } ) ;
27+
28+ test ( "invalid password (lowercase letters only)" , ( ) => {
29+ const password = "abcde" ;
30+ const result = isValidPassword ( password ) ;
31+ expect ( result ) . toEqual ( false ) ;
32+ } ) ;
33+
34+ test ( "invalid password (uppercase letters only)" , ( ) => {
35+ const password = "QWERTY" ;
36+ const result = isValidPassword ( password ) ;
37+ expect ( result ) . toEqual ( false ) ;
38+ } ) ;
39+
40+ test ( "invalid password (non-alphanumeric symbols only)" , ( ) => {
41+ const password = "!#$%.*&!" ;
42+ const result = isValidPassword ( password ) ;
43+ expect ( result ) . toEqual ( false ) ;
44+ } ) ;
45+
46+ test ( "valid password" , ( ) => {
47+ const password = "aB1!cD" ;
48+ const result = isValidPassword ( password ) ;
49+ expect ( result ) . toEqual ( true ) ;
50+ } ) ;
51+
52+ test ( "duplicate password" , ( ) => {
53+ const password = "aB1!cD" ;
54+ const result = isValidPassword ( password ) ;
55+ expect ( result ) . toEqual ( false ) ;
56+ } ) ;
57+
58+ test ( "new valid password" , ( ) => {
59+ const password = "zX1$2£€" ;
60+ const result = isValidPassword ( password ) ;
61+ expect ( result ) . toEqual ( true ) ;
62+ } ) ;
0 commit comments