55
66namespace FluentAssertions . AspNetCore . Mvc . Tests
77{
8-
8+
99 public class CreatedAtRouteResultAssertions_Tests
1010 {
11+ public const string Reason = FailureMessageHelper . Reason ;
12+ public readonly static object [ ] ReasonArgs = FailureMessageHelper . ReasonArgs ;
1113 private const string TestValue = "testValue" ;
1214
1315 [ Fact ]
@@ -22,76 +24,83 @@ public void WithRouteName_GivenExpectedRouteName_ShouldPass()
2224 public void WithRouteName_GivenUnexpectedRouteName_ShouldFail ( )
2325 {
2426 var result = new CreatedAtRouteResult ( "someOtherRoute" , null , null ) ;
25- Action a = ( ) => result . Should ( ) . BeCreatedAtRouteResult ( ) . WithRouteName ( "expectedRoute" ) ;
26- var failureMessage = FailureMessageHelper . Format ( FailureMessages . CommonFailMessage , "CreatedAtRouteResult.RouteName" , "expectedRoute" , "someOtherRoute" ) ;
27+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "CreatedAtRouteResult.RouteName" , "expectedRoute" , "someOtherRoute" ) ;
28+
29+ Action a = ( ) => result . Should ( ) . BeCreatedAtRouteResult ( ) . WithRouteName ( "expectedRoute" , Reason , ReasonArgs ) ;
30+
2731 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
2832 }
2933
3034 [ Fact ]
3135 public void WithRouteValue_GivenKeyDoesntExist_ShouldFail ( )
3236 {
33- var expectedKey = "expectedKey" ;
34-
35- var routeValues = new { myKey = "MyValue" } ;
37+ var expectedKey = "expectedKey" ;
38+ var routeValues = new { myKey = TestValue } ;
3639 var result = new CreatedAtRouteResult ( string . Empty , routeValues , null ) ;
40+ var failureMessage = FailureMessageHelper . ExpectedContextContainValueAtKeyButKeyNotFound (
41+ "CreatedAtRouteResult.RouteValues" , TestValue , expectedKey ) ;
42+
43+ Action a = ( ) => result . Should ( ) . BeCreatedAtRouteResult ( ) . WithRouteValue ( expectedKey , TestValue , Reason , ReasonArgs ) ;
3744
38- Action a = ( ) => result . Should ( ) . BeCreatedAtRouteResult ( ) . WithRouteValue ( expectedKey , "" ) ;
39- a . Should ( ) . Throw < Exception > ( ) . WithMessage ( "sss" ) ;
45+ a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
4046 }
4147
4248 [ Fact ]
4349 public void WithRouteValue_GivenExpectedKeyValuePair_ShouldPass ( )
4450 {
4551 var expectedKey = "expectedKey" ;
4652 var expectedValue = "expectedValue" ;
47- var routeValues = new { expectedKey = expectedValue } ;
48-
53+ var routeValues = new { expectedKey = expectedValue } ;
4954 var result = new CreatedAtRouteResult ( string . Empty , routeValues , null ) ;
55+
5056 result . Should ( ) . BeCreatedAtRouteResult ( ) . WithRouteValue ( expectedKey , expectedValue ) ;
5157 }
5258
5359 [ Fact ]
54- public void HaveValue_GivenUnexpectedKeyValuePair_ShouldFail ( )
60+ public void WithRouteValue_GivenUnexpectedKeyValuePair_ShouldFail ( )
5561 {
5662 var expectedKey = "expectedKey" ;
5763 var expectedValue = "expectedValue" ;
5864 var routeValues = new { expectedKey = "someOtherValue" } ;
59-
6065 var result = new CreatedAtRouteResult ( string . Empty , routeValues , null ) ;
61- Action a = ( ) => result . Should ( ) . BeCreatedAtRouteResult ( ) . WithRouteValue ( expectedKey , expectedValue ) ;
62- a . Should ( ) . Throw < Exception > ( ) . WithMessage ( "sss" ) ;
66+ var failureMessage = FailureMessageHelper . ExpectedAtKeyValueXButFoundY (
67+ "CreatedAtRouteResult.RouteValues" , expectedKey , expectedValue , "someOtherValue" ) ;
68+
69+ Action a = ( ) => result . Should ( ) . BeCreatedAtRouteResult ( ) . WithRouteValue ( expectedKey , expectedValue , Reason , ReasonArgs ) ;
70+
71+ a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
6372 }
6473
6574 [ Fact ]
6675 public void ValueAs_GivenExpectedValue_ShouldPass ( )
6776 {
6877 var result = new TestController ( ) . CreatedAtRoute ( string . Empty , null , TestValue ) ;
69- result . Should ( ) . BeCreatedAtRouteResult ( ) . ValueAs < string > ( ) . Should ( ) . Be ( TestValue ) ;
78+
79+ result . Should ( ) . BeCreatedAtRouteResult ( ) . ValueAs < string > ( ) . Should ( ) . BeSameAs ( TestValue ) ;
7080 }
7181
7282 [ Fact ]
73- public void ValueAs_GivenUnexpectedValue_ShouldFail ( )
83+ public void ValueAs_Null_ShouldFail ( )
7484 {
75- var result = new TestController ( ) . CreatedAtRoute ( string . Empty , null , TestValue ) ;
76- Action a = ( ) => result . Should ( ) . BeCreatedAtRouteResult ( ) . ValueAs < string > ( ) . Should ( ) . Be ( "xyx" ) ;
77- a . Should ( ) . Throw < Exception > ( ) ;
85+ ActionResult result = new CreatedAtRouteResult ( string . Empty , null , null ) ;
86+ string failureMessage = FailureMessageHelper . ExpectedContextTypeXButFoundNull ( "CreatedAtRouteResult.Value" , typeof ( object ) . FullName ) ;
87+
88+ Action a = ( ) => result . Should ( ) . BeCreatedAtRouteResult ( ) . ValueAs < object > ( ) ;
89+
90+ a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
7891 }
7992
8093 [ Fact ]
8194 public void ValueAs_GivenWrongType_ShouldFail ( )
8295 {
83- var result = new TestController ( ) . CreatedAtRoute ( string . Empty , null , TestValue ) ;
96+ ActionResult result = new CreatedAtRouteResult ( string . Empty , null , "" ) ;
97+ string failureMessage = FailureMessageHelper . ExpectedContextTypeXButFoundY (
98+ "CreatedAtRouteResult.Value" , typeof ( int ) . FullName , typeof ( string ) . FullName ) ;
99+
84100 Action a = ( ) => result . Should ( ) . BeCreatedAtRouteResult ( ) . ValueAs < int > ( ) . Should ( ) . Be ( 2 ) ;
85- a . Should ( ) . Throw < Exception > ( ) ;
86- }
87101
88- [ Fact ]
89- public void ValueAs_Null_ShouldFail ( )
90- {
91- ActionResult result = new CreatedAtRouteResult ( string . Empty , null , null ) ;
92- var failureMessage = FailureMessageHelper . Format ( FailureMessages . CommonNullWasSuppliedFailMessage , "CreatedAtRouteResult.Value" , typeof ( object ) . Name ) ;
93- Action a = ( ) => result . Should ( ) . BeCreatedAtRouteResult ( ) . ValueAs < object > ( ) ;
94- a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
102+ a . Should ( ) . Throw < Exception > ( )
103+ . WithMessage ( failureMessage ) ;
95104 }
96105 }
97106}
0 commit comments