1+ using CommonTestUtilities . Requests ;
2+ using FluentAssertions ;
3+ using RecipesApp . Application . UseCases . User . Register ;
4+ using RecipesApp . Exception . Resources ;
5+
6+ namespace Validators . Test . User . Register ;
7+
8+ public class RegisterUserValidatorTest
9+ {
10+ [ Fact ]
11+ public void Test_OnSuccess ( )
12+ {
13+ var v = new RegisterUserValidator ( ) ;
14+ var request = RegisterUserRequestJSONMockFactory . CreateMock ( ) ;
15+ var result = v . Validate ( request ) ;
16+
17+ result . IsValid . Should ( ) . BeTrue ( ) ;
18+ }
19+
20+ [ Fact ]
21+ public void Test_OnFailureWith_EmptyName ( )
22+ {
23+ var v = new RegisterUserValidator ( ) ;
24+ var request = RegisterUserRequestJSONMockFactory . CreateMockWithoutName ( ) ;
25+ var result = v . Validate ( request ) ;
26+
27+ result . IsValid . Should ( ) . BeFalse ( ) ;
28+ result . Errors . Should ( ) . ContainSingle ( )
29+ . And . Contain ( e => e . ErrorMessage . Equals ( ResourcesAccessor . NAME_REQUIRED ) ) ;
30+ }
31+
32+ [ Fact ]
33+ public void Test_OnFailureWith_EmptyEmail ( )
34+ {
35+ var v = new RegisterUserValidator ( ) ;
36+ var request = RegisterUserRequestJSONMockFactory . CreateMockWithoutEmail ( ) ;
37+ var result = v . Validate ( request ) ;
38+
39+ result . IsValid . Should ( ) . BeFalse ( ) ;
40+ result . Errors . Should ( ) . ContainSingle ( )
41+ . And . Contain ( e => e . ErrorMessage . Equals ( ResourcesAccessor . EMAIL_REQUIRED ) ) ;
42+ }
43+ [ Fact ]
44+ public void Test_OnFailureWith_InvalidEmail ( )
45+ {
46+ var v = new RegisterUserValidator ( ) ;
47+ var request = RegisterUserRequestJSONMockFactory . CreateMockWithInvalidEmail ( "email.com" ) ;
48+ var result = v . Validate ( request ) ;
49+
50+ result . IsValid . Should ( ) . BeFalse ( ) ;
51+ result . Errors . Should ( ) . ContainSingle ( )
52+ . And . Contain ( e => e . ErrorMessage . Equals ( ResourcesAccessor . EMAIL_INVALID ) ) ;
53+ }
54+
55+ [ Fact ]
56+ public void Test_OnFailureWith_EmptyPassword ( )
57+ {
58+ var v = new RegisterUserValidator ( ) ;
59+ var request = RegisterUserRequestJSONMockFactory . CreateMockWithoutPassword ( ) ;
60+ var result = v . Validate ( request ) ;
61+
62+ result . IsValid . Should ( ) . BeFalse ( ) ;
63+ result . Errors . Should ( ) . ContainSingle ( )
64+ . And . Contain ( e => e . ErrorMessage . Equals ( ResourcesAccessor . PASSWORD_REQUIRED ) ) ;
65+ }
66+ [ Theory ]
67+ [ InlineData ( 1 ) ]
68+ [ InlineData ( 2 ) ]
69+ [ InlineData ( 3 ) ]
70+ [ InlineData ( 4 ) ]
71+ [ InlineData ( 5 ) ]
72+ public void Test_OnFailureWith_InvalidPassword ( int passwordLength )
73+ {
74+ var v = new RegisterUserValidator ( ) ;
75+ var request = RegisterUserRequestJSONMockFactory . CreateMock ( passwordLength ) ;
76+ var result = v . Validate ( request ) ;
77+
78+ result . IsValid . Should ( ) . BeFalse ( ) ;
79+ result . Errors . Should ( ) . ContainSingle ( )
80+ . And . Contain ( e => e . ErrorMessage . Equals ( ResourcesAccessor . PASSWORD_LENGTH ) ) ;
81+ }
82+ }
0 commit comments