Skip to content

Commit f760491

Browse files
committed
Fix AcceptedAtRouteResultAssertions tests.
1 parent 970fc9a commit f760491

File tree

2 files changed

+37
-33
lines changed

2 files changed

+37
-33
lines changed

src/FluentAssertions.AspNetCore.Mvc/AcceptedAtRouteResultAssertions.cs

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ public AcceptedAtRouteResultAssertions WithRouteName(string expectedRouteName, s
3535
Execute.Assertion
3636
.BecauseOf(reason, reasonArgs)
3737
.ForCondition(string.Equals(expectedRouteName, subjectTyped.RouteName, StringComparison.OrdinalIgnoreCase))
38-
.FailWith(FailureMessages.CommonFailMessage, "AcceptedAtRouteResult.RouteName", expectedRouteName, subjectTyped.RouteName);
38+
.WithDefaultIdentifier("AcceptedAtRouteResult.RouteName")
39+
.FailWith(FailureMessages.CommonFailMessage, expectedRouteName, subjectTyped.RouteName);
3940

4041
return this;
4142
}
@@ -56,17 +57,8 @@ public AcceptedAtRouteResultAssertions WithRouteValue(string key, object expecte
5657
{
5758
var subjectTyped = Subject as AcceptedAtRouteResult;
5859

59-
Execute.Assertion
60-
.ForCondition(subjectTyped != null && subjectTyped.RouteValues.ContainsKey(key))
61-
.BecauseOf(reason, reasonArgs)
62-
.FailWith(FailureMessages.AcceptedAtRouteResult_RouteValues_ContainsKey, key);
63-
64-
var actualValue = subjectTyped.RouteValues[key];
65-
66-
Execute.Assertion
67-
.ForCondition(expectedValue.Equals(actualValue))
68-
.BecauseOf(reason, reasonArgs)
69-
.FailWith(FailureMessages.AcceptedAtRouteResult_RouteValues_HaveValue, key, expectedValue, actualValue);
60+
AssertionHelpers.AssertStringObjectDictionary(subjectTyped.RouteValues,
61+
"AcceptedAtRouteResult.RouteValues", key, expectedValue, reason, reasonArgs);
7062

7163
return this;
7264
}
@@ -82,11 +74,14 @@ public TValue ValueAs<TValue>()
8274
var value = subjectTyped.Value;
8375

8476
if (value == null)
85-
Execute.Assertion.FailWith(FailureMessages.CommonNullWasSuppliedFailMessage, "AcceptedAtRouteResult.Value", typeof(TValue).Name);
77+
Execute.Assertion
78+
.WithDefaultIdentifier("AcceptedAtRouteResult.Value")
79+
.FailWith(FailureMessages.CommonNullWasSuppliedFailMessage, typeof(TValue));
8680

8781
Execute.Assertion
8882
.ForCondition(value is TValue)
89-
.FailWith(FailureMessages.CommonTypeFailMessage, "AcceptedAtRouteResult.Value", typeof(TValue).Name, value.GetType().Name);
83+
.WithDefaultIdentifier("AcceptedAtRouteResult.Value")
84+
.FailWith(FailureMessages.CommonTypeFailMessage, typeof(TValue), value.GetType());
9085

9186
return (TValue)value;
9287
}

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

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ namespace FluentAssertions.AspNetCore.Mvc.Tests
88

99
public class AcceptedAtRouteResultAssertions_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,21 +24,25 @@ public void WithRouteName_GivenExpectedRouteName_ShouldPass()
2224
public void WithRouteName_GivenUnexpectedRouteName_ShouldFail()
2325
{
2426
var result = new AcceptedAtRouteResult("someOtherRoute", null, null);
25-
Action a = () => result.Should().BeAcceptedAtRouteResult().WithRouteName("expectedRoute");
26-
var failureMessage = FailureMessageHelper.Format(FailureMessages.CommonFailMessage, "AcceptedAtRouteResult.RouteName", "expectedRoute", "someOtherRoute");
27+
var failureMessage = FailureMessageHelper.ExpectedContextToBeXButY(
28+
"AcceptedAtRouteResult.RouteName", "expectedRoute", "someOtherRoute");
29+
30+
Action a = () => result.Should().BeAcceptedAtRouteResult().WithRouteName("expectedRoute", Reason, ReasonArgs);
31+
2732
a.Should().Throw<Exception>().WithMessage(failureMessage);
2833
}
2934

3035
[Fact]
3136
public void WithRouteValue_GivenKeyDoesntExist_ShouldFail()
3237
{
3338
var expectedKey = "expectedKey";
34-
var failureMessage = FailureMessageHelper.Format(FailureMessages.AcceptedAtRouteResult_RouteValues_ContainsKey, expectedKey);
35-
3639
var routeValues = new {myKey = "MyValue"};
3740
var result = new AcceptedAtRouteResult(string.Empty, routeValues, null);
41+
var failureMessage = FailureMessageHelper.ExpectedContextContainValueAtKeyButKeyNotFound(
42+
"AcceptedAtRouteResult.RouteValues", "Val", expectedKey);
43+
44+
Action a = () => result.Should().BeAcceptedAtRouteResult().WithRouteValue(expectedKey, "Val", Reason, ReasonArgs);
3845

39-
Action a = () => result.Should().BeAcceptedAtRouteResult().WithRouteValue(expectedKey, "");
4046
a.Should().Throw<Exception>().WithMessage(failureMessage);
4147
}
4248

@@ -48,6 +54,7 @@ public void WithRouteValue_GivenExpectedKeyValuePair_ShouldPass()
4854
var routeValues = new {expectedKey = expectedValue};
4955

5056
var result = new AcceptedAtRouteResult(string.Empty, routeValues, null);
57+
5158
result.Should().BeAcceptedAtRouteResult().WithRouteValue(expectedKey, expectedValue);
5259
}
5360

@@ -57,42 +64,44 @@ public void HaveValue_GivenUnexpectedKeyValuePair_ShouldFail()
5764
var expectedKey = "expectedKey";
5865
var expectedValue = "expectedValue";
5966
var routeValues = new { expectedKey = "someOtherValue" };
60-
var failureMessage = FailureMessageHelper.Format(FailureMessages.AcceptedAtRouteResult_RouteValues_HaveValue, expectedKey, expectedValue, "someOtherValue");
61-
67+
var failureMessage = FailureMessageHelper.ExpectedAtKeyValueXButFoundY(
68+
"AcceptedAtRouteResult.RouteValues", expectedKey, expectedValue, "someOtherValue");
6269
var result = new AcceptedAtRouteResult(string.Empty, routeValues, null);
63-
Action a = () => result.Should().BeAcceptedAtRouteResult().WithRouteValue(expectedKey, expectedValue);
70+
71+
Action a = () => result.Should().BeAcceptedAtRouteResult().WithRouteValue(expectedKey, expectedValue, Reason, ReasonArgs);
72+
6473
a.Should().Throw<Exception>().WithMessage(failureMessage);
6574
}
6675

6776
[Fact]
6877
public void ValueAs_GivenExpectedValue_ShouldPass()
6978
{
7079
var result = new TestController().AcceptedAtRoute(string.Empty, null, TestValue);
71-
result.Should().BeAcceptedAtRouteResult().ValueAs<string>().Should().Be(TestValue);
72-
}
7380

74-
[Fact]
75-
public void ValueAs_GivenUnexpectedValue_ShouldFail()
76-
{
77-
var result = new TestController().AcceptedAtRoute(string.Empty, null, TestValue);
78-
Action a = () => result.Should().BeAcceptedAtRouteResult().ValueAs<string>().Should().Be("xyx");
79-
a.Should().Throw<Exception>();
81+
result.Should().BeAcceptedAtRouteResult().ValueAs<string>().Should().BeSameAs(TestValue);
8082
}
8183

8284
[Fact]
8385
public void ValueAs_GivenWrongType_ShouldFail()
8486
{
8587
var result = new TestController().AcceptedAtRoute(string.Empty, null, TestValue);
86-
Action a = () => result.Should().BeAcceptedAtRouteResult().ValueAs<int>().Should().Be(2);
87-
a.Should().Throw<Exception>();
88+
var failureMessage = FailureMessageHelper.ExpectedContextTypeXButFoundY(
89+
"AcceptedAtRouteResult.Value", typeof(int), typeof(string));
90+
91+
Action a = () => result.Should().BeAcceptedAtRouteResult().ValueAs<int>();
92+
93+
a.Should().Throw<Exception>().WithMessage(failureMessage);
8894
}
8995

9096
[Fact]
9197
public void ValueAs_Null_ShouldFail()
9298
{
9399
ActionResult result = new AcceptedAtRouteResult(string.Empty, null, null);
94-
var failureMessage = FailureMessageHelper.Format(FailureMessages.CommonNullWasSuppliedFailMessage, "AcceptedAtRouteResult.Value", typeof(object).Name);
100+
var failureMessage = FailureMessageHelper.ExpectedContextTypeXButFoundNull(
101+
"AcceptedAtRouteResult.Value", typeof(object));
102+
95103
Action a = () => result.Should().BeAcceptedAtRouteResult().ValueAs<object>();
104+
96105
a.Should().Throw<Exception>().WithMessage(failureMessage);
97106
}
98107
}

0 commit comments

Comments
 (0)