Skip to content

Commit 7752268

Browse files
Stuart HealeyStuart Healey
Stuart Healey
authored and
Stuart Healey
committed
Added RedirectToAction Assertions
1 parent d74bbe8 commit 7752268

File tree

5 files changed

+412
-32
lines changed

5 files changed

+412
-32
lines changed

Diff for: src/FluentAssertions.AspNetCore.Mvc/ActionResultAssertions.cs

+28
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,34 @@ public ViewResultAssertions BeViewResult(string reason, params object[] reasonAr
200200
return new ViewResultAssertions(Subject as ViewResult);
201201
}
202202

203+
/// <summary>
204+
/// Asserts that the subject is a <see cref="RedirectToActionResult"/>.
205+
/// </summary>
206+
public RedirectToActionResultAssertions BeRedirectToActionResult()
207+
{
208+
return BeRedirectToActionResult(string.Empty, null);
209+
}
210+
211+
/// <summary>
212+
/// Asserts that the subject is a <see cref="RedirectToActionResult"/>.
213+
/// </summary>
214+
/// <param name="reason">
215+
/// A formatted phrase as is supported by <see cref="string.Format(string,object[])" /> explaining why the assertion
216+
/// is needed. If the phrase does not start with the word <i>because</i>, it is prepended automatically.
217+
/// </param>
218+
/// <param name="reasonArgs">
219+
/// Zero or more objects to format using the placeholders in <see cref="reason" />.
220+
/// </param>
221+
public RedirectToActionResultAssertions BeRedirectToActionResult(string reason, params object[] reasonArgs)
222+
{
223+
Execute.Assertion
224+
.BecauseOf(reason, reasonArgs)
225+
.ForCondition(Subject is RedirectToActionResult)
226+
.FailWith(Constants.CommonFailMessage, "RedirectToActionResult", Subject.GetType().Name);
227+
228+
return new RedirectToActionResultAssertions(Subject as RedirectToActionResult);
229+
}
230+
203231
#endregion Public Methods
204232

205233
#region Public Structs

Diff for: src/FluentAssertions.AspNetCore.Mvc/FailureMessages.Designer.cs

+53-32
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Diff for: src/FluentAssertions.AspNetCore.Mvc/FailureMessages.resx

+6
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,12 @@
120120
<data name="CommonFailMessage" xml:space="preserve">
121121
<value>Expected {0} to be '{1}' but found '{2}'</value>
122122
</data>
123+
<data name="RedirectToActionResult_RouteValues_ContainsKey" xml:space="preserve">
124+
<value>RedirectToActionResult.RouteValues does not contain key {0}.</value>
125+
</data>
126+
<data name="RedirectToActionResult_RouteValues_HaveValue" xml:space="preserve">
127+
<value>Expected RedirectToActionResult.RouteValues[{0}] to have value {1}, but found {2}.</value>
128+
</data>
123129
<data name="RouteData_DataTokens_ContainsKey" xml:space="preserve">
124130
<value>RouteData.DataTokens does not contain key {0}.</value>
125131
</data>

0 commit comments

Comments
 (0)