Skip to content

Commit 06f8468

Browse files
committed
Fix NotFoundObjectResultAssertions and OkObjectResultAssertions tests.
1 parent f869aa3 commit 06f8468

File tree

7 files changed

+39
-13
lines changed

7 files changed

+39
-13
lines changed

src/FluentAssertions.AspNetCore.Mvc/NotFoundObjectResultAssertions.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,14 @@ public TValue ValueAs<TValue>()
4747
var value = NotFoundObjectResultSubject.Value;
4848

4949
if (value == null)
50-
Execute.Assertion.FailWith(FailureMessages.CommonNullWasSuppliedFailMessage, "NotFoundObjectResult.Value", typeof(TValue).Name);
50+
Execute.Assertion
51+
.WithDefaultIdentifier("NotFoundObjectResult.Value")
52+
.FailWith(FailureMessages.CommonNullWasSuppliedFailMessage, typeof(TValue));
5153

5254
Execute.Assertion
5355
.ForCondition(value is TValue)
54-
.FailWith(FailureMessages.CommonTypeFailMessage, "NotFoundObjectResult.Value", typeof(TValue).Name, value.GetType().Name);
56+
.WithDefaultIdentifier("NotFoundObjectResult.Value")
57+
.FailWith(FailureMessages.CommonTypeFailMessage, typeof(TValue), value.GetType());
5558

5659
return (TValue)value;
5760
}

src/FluentAssertions.AspNetCore.Mvc/OkObjectResultAssertions.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,14 @@ public TValue ValueAs<TValue>()
4747
var value = OkObjectResultSubject.Value;
4848

4949
if (value == null)
50-
Execute.Assertion.FailWith(FailureMessages.CommonNullWasSuppliedFailMessage, "OkObjectResult.Value", typeof(TValue).Name);
50+
Execute.Assertion
51+
.WithDefaultIdentifier("OkObjectResult.Value")
52+
.FailWith(FailureMessages.CommonNullWasSuppliedFailMessage, typeof(TValue));
5153

5254
Execute.Assertion
5355
.ForCondition(value is TValue)
54-
.FailWith(FailureMessages.CommonTypeFailMessage, "OkObjectResult.Value", typeof(TValue).Name, value.GetType().Name);
56+
.WithDefaultIdentifier("OkObjectResult.Value")
57+
.FailWith(FailureMessages.CommonTypeFailMessage, typeof(TValue), value.GetType());
5558

5659
return (TValue)value;
5760
}

tests/FluentAssertions.AspNetCore.Mvc.Tests/Helpers/FailureMessageHelper.cs

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,19 +41,25 @@ public static string ExpectedKeyButNotFound(string context, string key, string e
4141
return $"Expected {context} to contain value \"{expected}\" at key \"{key}\" because it is 10, but the key was not found.";
4242
}
4343

44+
internal static string ExpectedContextTypeXButFoundY(string context, string expected, string actual)
45+
{
46+
return $"Expected {context} to be of type {expected} but was {actual}.";
47+
}
48+
4449
private static object ToString(DateTimeOffset? expected)
4550
{
4651
if (expected.HasValue)
4752
{
4853
var builder = new StringBuilder($"<{expected:yyyy-MM-dd HH:mm:ss}");
49-
if(expected.Value.Millisecond > 0)
54+
if (expected.Value.Millisecond > 0)
5055
{
5156
builder.AppendFormat(".{0:fffffff}", expected.Value);
5257
}
5358
if (expected.Value.Offset.Hours > 0)
5459
{
5560
builder.AppendFormat(" +{0}h", expected.Value.Offset.Hours);
56-
} else if (expected.Value.Offset.Hours < 0)
61+
}
62+
else if (expected.Value.Offset.Hours < 0)
5763
{
5864
builder.AppendFormat(" -{0}h", expected.Value.Offset.Hours);
5965
}
@@ -63,6 +69,11 @@ private static object ToString(DateTimeOffset? expected)
6369
return "<null>";
6470
}
6571

72+
internal static string ExpectedContextTypeXButFoundNull(string context, string expectedType)
73+
{
74+
return $"Expected {context} to be of type {expectedType}, but no value was supplied.";
75+
}
76+
6677
internal static string ExpectedContextContainValueAtKeyButFoundNull(string context, string value, string key)
6778
{
6879
return $"Expected {context} to contain value \"{value}\" at key \"{key}\" because it is 10, but it is <null>.";

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ public void ValueAs_GivenWrongType_ShouldFail()
9797
public void ValueAs_Null_ShouldFail()
9898
{
9999
ActionResult result = new JsonResult(null);
100-
string failureMessage = $"Expected Value to be of type System.Object, but no value was supplied.";
100+
string failureMessage = $"Expected JsonResult.Value to be of type System.Object, but no value was supplied.";
101101

102102
Action a = () => result.Should().BeJsonResult().ValueAs<Object>();
103103

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

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,21 @@ public void ValueAs_GivenUnexpectedValue_ShouldFail()
4545
public void ValueAs_GivenWrongType_ShouldFail()
4646
{
4747
var result = new TestController().NotFound(TestValue);
48+
string failureMessage = FailureMessageHelper.ExpectedContextTypeXButFoundY(
49+
"NotFoundObjectResult.Value", typeof(int).FullName, typeof(string).FullName);
4850

4951
Action a = () => result.Should().BeNotFoundObjectResult().ValueAs<int>().Should().Be(2);
50-
a.Should().Throw<Exception>();
52+
53+
a.Should().Throw<Exception>()
54+
.WithMessage(failureMessage);
5155
}
5256

5357
[Fact]
5458
public void ValueAs_Null_ShouldFail()
5559
{
5660
ActionResult result = new NotFoundObjectResult(null);
57-
string failureMessage = FailureMessageHelper.Format(FailureMessages.CommonNullWasSuppliedFailMessage, "NotFoundObjectResult.Value", typeof(object).Name);
61+
string failureMessage = FailureMessageHelper.ExpectedContextTypeXButFoundNull(
62+
"NotFoundObjectResult.Value", typeof(object).FullName);
5863

5964
Action a = () => result.Should().BeNotFoundObjectResult().ValueAs<object>();
6065

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,16 +45,20 @@ public void ValueAs_GivenUnexpectedValue_ShouldFail()
4545
public void ValueAs_GivenWrongType_ShouldFail()
4646
{
4747
var result = new TestController().Ok(TestValue);
48+
string failureMessage = FailureMessageHelper.ExpectedContextTypeXButFoundY(
49+
"OkObjectResult.Value", typeof(int).FullName, typeof(string).FullName);
4850

4951
Action a = () => result.Should().BeOkObjectResult().ValueAs<int>().Should().Be(2);
50-
a.Should().Throw<Exception>();
52+
a.Should().Throw<Exception>()
53+
.WithMessage(failureMessage);
5154
}
5255

5356
[Fact]
5457
public void ValueAs_Null_ShouldFail()
5558
{
5659
ActionResult result = new OkObjectResult(null);
57-
string failureMessage = FailureMessageHelper.Format(FailureMessages.CommonNullWasSuppliedFailMessage, "OkObjectResult.Value", typeof(object).Name);
60+
string failureMessage = FailureMessageHelper.ExpectedContextTypeXButFoundNull(
61+
"OkObjectResult.Value", typeof(object).FullName);
5862

5963
Action a = () => result.Should().BeOkObjectResult().ValueAs<object>();
6064

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public void WithLastModified_GivenNull_ShouldPass()
101101
public void WithLastModified_GivenActualNull_ShouldFail()
102102
{
103103
var actualLastModified = null as DateTimeOffset?;
104-
var expectedLastModified = DateTimeOffset.Now;
104+
var expectedLastModified = TestLastModified;
105105
ActionResult result = new PhysicalFileResult(string.Empty, TestContentType) { LastModified = actualLastModified };
106106
var failureMessage = FailureMessageHelper.ExpectedContextToBeXButY("PhysicalFileResult.LastModified", expectedLastModified, actualLastModified);
107107

@@ -113,7 +113,7 @@ public void WithLastModified_GivenActualNull_ShouldFail()
113113
[Fact]
114114
public void WithLastModified_GivenExpectedNull_ShouldFail()
115115
{
116-
var actualLastModified = DateTimeOffset.Now;
116+
var actualLastModified = TestLastModified;
117117
var expectedLastModified = null as DateTimeOffset?;
118118
ActionResult result = new PhysicalFileResult(string.Empty, TestContentType) { LastModified = actualLastModified };
119119
var failureMessage = FailureMessageHelper.ExpectedContextToBeXButY("PhysicalFileResult.LastModified", expectedLastModified, actualLastModified);

0 commit comments

Comments
 (0)