Skip to content

Commit f869aa3

Browse files
committed
Fix PhysicalFileResultAssertions tests.
1 parent 430c086 commit f869aa3

File tree

3 files changed

+56
-53
lines changed

3 files changed

+56
-53
lines changed

src/FluentAssertions.AspNetCore.Mvc/PhysicalFileResultAssertions.cs

Lines changed: 11 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ public PhysicalFileResultAssertions WithPhysicalPath(string expectedFileName, st
6161
Execute.Assertion
6262
.ForCondition(string.Equals(actualFileName, expectedFileName, StringComparison.OrdinalIgnoreCase))
6363
.BecauseOf(reason, reasonArgs)
64-
.FailWith(string.Format(FailureMessages.CommonFailMessage, "PhysicalFileResult.PhysicalPath", expectedFileName, actualFileName));
64+
.WithDefaultIdentifier("PhysicalFileResult.PhysicalPath")
65+
.FailWith(FailureMessages.CommonFailMessage, expectedFileName, actualFileName);
6566

6667
return this;
6768
}
@@ -84,7 +85,8 @@ public PhysicalFileResultAssertions WithContentType(string expectedContentType,
8485
Execute.Assertion
8586
.ForCondition(string.Equals(actualContentType, expectedContentType, StringComparison.OrdinalIgnoreCase))
8687
.BecauseOf(reason, reasonArgs)
87-
.FailWith(string.Format(FailureMessages.CommonFailMessage, "PhysicalFileResult.ContentType", expectedContentType, actualContentType));
88+
.WithDefaultIdentifier("PhysicalFileResult.ContentType")
89+
.FailWith(FailureMessages.CommonFailMessage, expectedContentType, actualContentType);
8890

8991
return this;
9092
}
@@ -107,7 +109,8 @@ public PhysicalFileResultAssertions WithFileDownloadName(string expectedFileDown
107109
Execute.Assertion
108110
.ForCondition(string.Equals(actualFileDownloadName, expectedFileDownloadName, StringComparison.OrdinalIgnoreCase))
109111
.BecauseOf(reason, reasonArgs)
110-
.FailWith(string.Format(FailureMessages.CommonFailMessage, "PhysicalFileResult.FileDownloadName", expectedFileDownloadName, actualFileDownloadName));
112+
.WithDefaultIdentifier("PhysicalFileResult.FileDownloadName")
113+
.FailWith(FailureMessages.CommonFailMessage, expectedFileDownloadName, actualFileDownloadName);
111114

112115
return this;
113116
}
@@ -123,40 +126,16 @@ public PhysicalFileResultAssertions WithFileDownloadName(string expectedFileDown
123126
/// <param name="reasonArgs">
124127
/// Zero or more objects to format using the placeholders in <see cref="reason" />.
125128
/// </param>
126-
public PhysicalFileResultAssertions WithLastModified(DateTimeOffset? expectedLastModified, string reason = "", params object[] reasonArgs)
129+
public PhysicalFileResultAssertions WithLastModified(DateTimeOffset? expectedLastModified, string reason = "",
130+
params object[] reasonArgs)
127131
{
128132
var actualLastModified = LastModified;
129133

130-
if (actualLastModified == null && expectedLastModified == null)
131-
{
132-
return this;
133-
}
134-
135-
if (actualLastModified == null)
136-
{
137-
Execute.Assertion
138-
.ForCondition(false)
139-
.BecauseOf(reason, reasonArgs)
140-
.FailWith(string.Format(FailureMessages.CommonFailMessage, "PhysicalFileResult.LastModified", expectedLastModified, null));
141-
142-
return this;
143-
}
144-
145-
if (expectedLastModified == null)
146-
{
147-
Execute.Assertion
148-
.ForCondition(false)
149-
.BecauseOf(reason, reasonArgs)
150-
.FailWith(string.Format(FailureMessages.CommonFailMessage, "PhysicalFileResult.LastModified", null, actualLastModified));
151-
152-
return this;
153-
}
154-
155134
Execute.Assertion
156-
.ForCondition(DateTimeOffset.Compare(actualLastModified.Value, expectedLastModified.Value) == 0)
135+
.ForCondition(expectedLastModified == actualLastModified)
157136
.BecauseOf(reason, reasonArgs)
158-
.FailWith(string.Format(FailureMessages.CommonFailMessage, "PhysicalFileResult.LastModified", expectedLastModified, actualLastModified));
159-
137+
.WithDefaultIdentifier("PhysicalFileResult.LastModified")
138+
.FailWith(FailureMessages.CommonFailMessage, expectedLastModified, actualLastModified);
160139
return this;
161140
}
162141

tests/FluentAssertions.AspNetCore.Mvc.Tests/FileResultAssertions_Tests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -103,13 +103,13 @@ public void WithEntityTag_GivenExpectedValue_ShouldPass()
103103
[Fact]
104104
public void WithEntityTag_GivenUnexpected_ShouldFail()
105105
{
106-
var actualValue = new EntityTagHeaderValue("\"sha256 value 1\"", true);
107-
var expectedValue = new EntityTagHeaderValue("\"sha256 value 2\"", false);
106+
var actualEntityTag = new EntityTagHeaderValue("\"sha256 value 1\"", true);
107+
var expectedEntityTag = new EntityTagHeaderValue("\"sha256 value 2\"", false);
108108
var result = TestDataGenerator.CreateFileContentResult();
109-
result.EntityTag = actualValue;
110-
var failureMessage = FailureMessageHelper.ExpectedContextToBeXButY("FileResult.EntityTag", expectedValue, actualValue);
109+
result.EntityTag = actualEntityTag;
110+
var failureMessage = FailureMessageHelper.ExpectedContextToBeXButY("FileResult.EntityTag", expectedEntityTag, actualEntityTag);
111111

112-
Action a = () => result.Should().BeFileResult().WithEntityTag(expectedValue, "it is {0}", 10);
112+
Action a = () => result.Should().BeFileResult().WithEntityTag(expectedEntityTag, "it is {0}", 10);
113113

114114
a.Should().Throw<Exception>()
115115
.WithMessage(failureMessage);

tests/FluentAssertions.AspNetCore.Mvc.Tests/PhysicalFileResultAssertions_Tests.cs

Lines changed: 40 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
using System;
2+
using System.Globalization;
3+
using FluentAssertions.Mvc.Tests.Helpers;
24
using Microsoft.AspNetCore.Mvc;
35
using Microsoft.Net.Http.Headers;
46
using 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

Comments
 (0)