Skip to content

Commit 21c8637

Browse files
committed
Made ShouldRenderJson return JsonResult.
Partial implementation of #46.
1 parent 3d8d497 commit 21c8637

File tree

3 files changed

+28
-5
lines changed

3 files changed

+28
-5
lines changed
Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using NUnit.Framework;
1+
using System.Web.Mvc;
2+
using NUnit.Framework;
23
using TestStack.FluentMVCTesting.Tests.TestControllers;
34

45
namespace TestStack.FluentMVCTesting.Tests
@@ -8,7 +9,27 @@ partial class ControllerResultTestShould
89
[Test]
910
public void Allow_the_object_that_is_returned_to_be_checked()
1011
{
11-
_controller.WithCallTo(c => c.Json()).ShouldReturnJson(d => Assert.That(d, Is.EqualTo(ControllerResultTestController.JsonValue)));
12+
_controller.WithCallTo(c => c.Json())
13+
.ShouldReturnJson(d => Assert.That(d, Is.EqualTo(ControllerResultTestController.JsonValue)));
14+
}
15+
16+
[Test]
17+
public void Return_the_json_result()
18+
{
19+
JsonResult expected = _controller.Json();
20+
JsonResult actual = _controller.WithCallTo(c => c.Json()).ShouldReturnJson();
21+
Assert.AreEqual(expected.Data, actual.Data);
22+
Assert.AreEqual(expected.JsonRequestBehavior, actual.JsonRequestBehavior);
23+
}
24+
25+
[Test]
26+
public void Return_the_json_result_when_the_assertion_is_true()
27+
{
28+
JsonResult expected = _controller.Json();
29+
JsonResult actual =_controller.WithCallTo(c => c.Json())
30+
.ShouldReturnJson(d => Assert.That(d, Is.EqualTo(ControllerResultTestController.JsonValue)));
31+
Assert.AreEqual(expected.Data, actual.Data);
32+
Assert.AreEqual(expected.JsonRequestBehavior, actual.JsonRequestBehavior);
1233
}
1334
}
1435
}

TestStack.FluentMVCTesting.Tests/TestControllers/ControllerResultTestController.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ public ActionResult StatusCode()
224224
#endregion
225225

226226
#region JSON
227-
public ActionResult Json()
227+
public JsonResult Json()
228228
{
229229
return Json(JsonValue);
230230
}

TestStack.FluentMvcTesting/ControllerResultTest/ShouldReturnJson.cs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,18 @@ namespace TestStack.FluentMVCTesting
55
{
66
public partial class ControllerResultTest<T>
77
{
8-
public void ShouldReturnJson()
8+
public JsonResult ShouldReturnJson()
99
{
1010
ValidateActionReturnType<JsonResult>();
11+
return (JsonResult) ActionResult;
1112
}
1213

13-
public void ShouldReturnJson(Action<dynamic> assertion)
14+
public JsonResult ShouldReturnJson(Action<dynamic> assertion)
1415
{
1516
ValidateActionReturnType<JsonResult>();
1617
var jsonResult = (JsonResult)ActionResult;
1718
assertion(jsonResult.Data);
19+
return (JsonResult)ActionResult;
1820
}
1921
}
2022
}

0 commit comments

Comments
 (0)