11using System ;
2+ using System . Globalization ;
3+ using FluentAssertions . Mvc . Tests . Helpers ;
24using Microsoft . AspNetCore . Mvc ;
35using Microsoft . Net . Http . Headers ;
46using Xunit ;
@@ -7,10 +9,12 @@ namespace FluentAssertions.AspNetCore.Mvc.Tests
79{
810 public class PhysicalFileResultAssertions_Tests
911 {
12+ public const string Reason = FailureMessageHelper . Reason ;
13+ public readonly static object [ ] ReasonArgs = FailureMessageHelper . ReasonArgs ;
1014 private const string TestPhysicalPath = "TestPhysicalPath" ;
1115 private const string TestContentType = "text/html" ;
1216 private const string TestFileDownloadName = "TestFileDownloadName" ;
13- private readonly DateTimeOffset ? TestLastModified = DateTimeOffset . Now ;
17+ private readonly DateTimeOffset ? TestLastModified = DateTimeOffset . Parse ( "2020-04-28 15:48:33.6672395 +2" , CultureInfo . InvariantCulture ) ;
1418 private readonly EntityTagHeaderValue TestEntityTag = new EntityTagHeaderValue ( "\" 0815\" " ) ;
1519
1620 [ Fact ]
@@ -26,15 +30,18 @@ public void WithPhysicalPath_GivenUnexpected_ShouldFail()
2630 var actualPhysicalPath = TestPhysicalPath ;
2731 var expectedPhysicalPath = "xyz" ;
2832 ActionResult result = new PhysicalFileResult ( actualPhysicalPath , TestContentType ) ;
29- var failureMessage = string . Format ( FailureMessages . CommonFailMessage , "PhysicalFileResult.PhysicalPath" , expectedPhysicalPath , actualPhysicalPath ) ;
30- Action a = ( ) => result . Should ( ) . BePhysicalFileResult ( ) . WithPhysicalPath ( expectedPhysicalPath ) ;
33+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "PhysicalFileResult.PhysicalPath" , expectedPhysicalPath , actualPhysicalPath ) ;
34+
35+ Action a = ( ) => result . Should ( ) . BePhysicalFileResult ( ) . WithPhysicalPath ( expectedPhysicalPath , Reason , ReasonArgs ) ;
36+
3137 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
3238 }
3339
3440 [ Fact ]
3541 public void WithContentType_GivenExpected_ShouldPass ( )
3642 {
3743 ActionResult result = new PhysicalFileResult ( string . Empty , TestContentType ) ;
44+
3845 result . Should ( ) . BePhysicalFileResult ( ) . WithContentType ( TestContentType ) ;
3946 }
4047
@@ -44,15 +51,18 @@ public void WithContentType_GivenUnexpected_ShouldFail()
4451 var actualContentType = TestContentType ;
4552 var expectedContentType = "xyz" ;
4653 ActionResult result = new PhysicalFileResult ( string . Empty , actualContentType ) ;
47- var failureMessage = string . Format ( FailureMessages . CommonFailMessage , "PhysicalFileResult.ContentType" , expectedContentType , actualContentType ) ;
48- Action a = ( ) => result . Should ( ) . BePhysicalFileResult ( ) . WithContentType ( expectedContentType ) ;
54+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "PhysicalFileResult.ContentType" , expectedContentType , actualContentType ) ;
55+
56+ Action a = ( ) => result . Should ( ) . BePhysicalFileResult ( ) . WithContentType ( expectedContentType , Reason , ReasonArgs ) ;
57+
4958 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
5059 }
5160
5261 [ Fact ]
5362 public void WithFileDownloadName_GivenExpected_ShouldPass ( )
5463 {
5564 ActionResult result = new PhysicalFileResult ( string . Empty , TestContentType ) { FileDownloadName = TestFileDownloadName } ;
65+
5666 result . Should ( ) . BePhysicalFileResult ( ) . WithFileDownloadName ( TestFileDownloadName ) ;
5767 }
5868
@@ -62,15 +72,18 @@ public void WithFileDownloadName_GivenUnexpected_ShouldFail()
6272 var actualFileDownloadName = TestFileDownloadName ;
6373 var expectedFileDownloadName = "xyz" ;
6474 ActionResult result = new PhysicalFileResult ( string . Empty , TestContentType ) { FileDownloadName = actualFileDownloadName } ;
65- var failureMessage = string . Format ( FailureMessages . CommonFailMessage , "PhysicalFileResult.FileDownloadName" , expectedFileDownloadName , actualFileDownloadName ) ;
66- Action a = ( ) => result . Should ( ) . BePhysicalFileResult ( ) . WithFileDownloadName ( expectedFileDownloadName ) ;
75+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "PhysicalFileResult.FileDownloadName" , expectedFileDownloadName , actualFileDownloadName ) ;
76+
77+ Action a = ( ) => result . Should ( ) . BePhysicalFileResult ( ) . WithFileDownloadName ( expectedFileDownloadName , Reason , ReasonArgs ) ;
78+
6779 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
6880 }
6981
7082 [ Fact ]
7183 public void WithLastModified_GivenExpected_ShouldPass ( )
7284 {
7385 ActionResult result = new PhysicalFileResult ( string . Empty , TestContentType ) { LastModified = TestLastModified } ;
86+
7487 result . Should ( ) . BePhysicalFileResult ( ) . WithLastModified ( TestLastModified ) ;
7588 }
7689
@@ -80,6 +93,7 @@ public void WithLastModified_GivenNull_ShouldPass()
8093 var actualLastModified = null as DateTimeOffset ? ;
8194 var expectedLastModified = null as DateTimeOffset ? ;
8295 ActionResult result = new PhysicalFileResult ( string . Empty , TestContentType ) { LastModified = actualLastModified } ;
96+
8397 result . Should ( ) . BePhysicalFileResult ( ) . WithLastModified ( expectedLastModified ) ;
8498 }
8599
@@ -89,8 +103,10 @@ public void WithLastModified_GivenActualNull_ShouldFail()
89103 var actualLastModified = null as DateTimeOffset ? ;
90104 var expectedLastModified = DateTimeOffset . Now ;
91105 ActionResult result = new PhysicalFileResult ( string . Empty , TestContentType ) { LastModified = actualLastModified } ;
92- var failureMessage = string . Format ( FailureMessages . CommonFailMessage , "PhysicalFileResult.LastModified" , expectedLastModified , actualLastModified ) ;
93- Action a = ( ) => result . Should ( ) . BePhysicalFileResult ( ) . WithLastModified ( expectedLastModified ) ;
106+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "PhysicalFileResult.LastModified" , expectedLastModified , actualLastModified ) ;
107+
108+ Action a = ( ) => result . Should ( ) . BePhysicalFileResult ( ) . WithLastModified ( expectedLastModified , Reason , ReasonArgs ) ;
109+
94110 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
95111 }
96112
@@ -100,8 +116,10 @@ public void WithLastModified_GivenExpectedNull_ShouldFail()
100116 var actualLastModified = DateTimeOffset . Now ;
101117 var expectedLastModified = null as DateTimeOffset ? ;
102118 ActionResult result = new PhysicalFileResult ( string . Empty , TestContentType ) { LastModified = actualLastModified } ;
103- var failureMessage = string . Format ( FailureMessages . CommonFailMessage , "PhysicalFileResult.LastModified" , expectedLastModified , actualLastModified ) ;
104- Action a = ( ) => result . Should ( ) . BePhysicalFileResult ( ) . WithLastModified ( expectedLastModified ) ;
119+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "PhysicalFileResult.LastModified" , expectedLastModified , actualLastModified ) ;
120+
121+ Action a = ( ) => result . Should ( ) . BePhysicalFileResult ( ) . WithLastModified ( expectedLastModified , Reason , ReasonArgs ) ;
122+
105123 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
106124 }
107125
@@ -111,15 +129,18 @@ public void WithLastModified_GivenUnexpected_ShouldFail()
111129 var actualLastModified = TestLastModified ;
112130 var expectedLastModified = DateTimeOffset . Now . AddMilliseconds ( 1 ) ;
113131 ActionResult result = new PhysicalFileResult ( string . Empty , TestContentType ) { LastModified = actualLastModified } ;
114- var failureMessage = string . Format ( FailureMessages . CommonFailMessage , "PhysicalFileResult.LastModified" , expectedLastModified , actualLastModified ) ;
115- Action a = ( ) => result . Should ( ) . BePhysicalFileResult ( ) . WithLastModified ( expectedLastModified ) ;
132+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "PhysicalFileResult.LastModified" , expectedLastModified , actualLastModified ) ;
133+
134+ Action a = ( ) => result . Should ( ) . BePhysicalFileResult ( ) . WithLastModified ( expectedLastModified , Reason , ReasonArgs ) ;
135+
116136 a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
117137 }
118138
119139 [ Fact ]
120140 public void WithEntityTag_GivenExpected_ShouldPass ( )
121141 {
122142 ActionResult result = new PhysicalFileResult ( string . Empty , TestContentType ) { EntityTag = TestEntityTag } ;
143+
123144 result . Should ( ) . BePhysicalFileResult ( ) . WithEntityTag ( TestEntityTag ) ;
124145 }
125146
@@ -129,9 +150,12 @@ public void WithEntityTag_GivenUnexpected_ShouldFail()
129150 var actualEntityTag = TestEntityTag ;
130151 var expectedEntityTag = new EntityTagHeaderValue ( "\" 1234\" " ) ;
131152 ActionResult result = new PhysicalFileResult ( string . Empty , TestContentType ) { EntityTag = actualEntityTag } ;
132- var failureMessage = string . Format ( FailureMessages . CommonFailMessage , "PhysicalFileResult.EntityTag" , expectedEntityTag , actualEntityTag ) ;
133- Action a = ( ) => result . Should ( ) . BePhysicalFileResult ( ) . WithEntityTag ( expectedEntityTag ) ;
134- a . Should ( ) . Throw < Exception > ( ) . WithMessage ( failureMessage ) ;
153+ var failureMessage = FailureMessageHelper . ExpectedContextToBeXButY ( "PhysicalFileResult.EntityTag" , expectedEntityTag , actualEntityTag ) ;
154+
155+ Action a = ( ) => result . Should ( ) . BePhysicalFileResult ( ) . WithEntityTag ( expectedEntityTag , Reason , ReasonArgs ) ;
156+
157+ a . Should ( ) . Throw < Exception > ( )
158+ . WithMessage ( failureMessage ) ;
135159 }
136160 }
137161}
0 commit comments