Skip to content

Commit 144bc4e

Browse files
Mr. ByteMr. Byte
authored andcommitted
Merge pull request #48 from ByteBlast/master
Implemented #46
2 parents 9e6d84b + fb7d8f5 commit 144bc4e

File tree

9 files changed

+87
-11
lines changed

9 files changed

+87
-11
lines changed

NextVersion.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.2.0
1+
2.3.0

TestStack.FluentMVCTesting.Tests/ControllerResultTestTests/ShouldGiveHttpStatusTests.cs

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,5 +26,35 @@ public void Check_for_invalid_http_status()
2626
);
2727
Assert.That(exception.Message, Is.EqualTo(string.Format("Expected HTTP status code to be '{0}', but instead received a '{1}'.", ControllerResultTestController.Code + 1, ControllerResultTestController.Code)));
2828
}
29+
30+
[Test]
31+
public void Return_the_http_status_result()
32+
{
33+
var expected = _controller.StatusCode();
34+
var actual = _controller.WithCallTo(c => c.StatusCode())
35+
.ShouldGiveHttpStatus();
36+
Assert.That(actual.StatusCode,Is.EqualTo(expected.StatusCode));
37+
Assert.That(actual.StatusDescription, Is.EqualTo(expected.StatusDescription));
38+
}
39+
40+
[Test]
41+
public void Return_the_http_status_result_when_the_assertion_against_integer_is_true()
42+
{
43+
var expected = _controller.StatusCode();
44+
var actual = _controller.WithCallTo(c => c.StatusCode())
45+
.ShouldGiveHttpStatus(ControllerResultTestController.Code);
46+
Assert.That(actual.StatusCode, Is.EqualTo(expected.StatusCode));
47+
Assert.That(actual.StatusDescription, Is.EqualTo(expected.StatusDescription));
48+
}
49+
50+
[Test]
51+
public void Return_the_http_status_result_when_the_assertion_against_status_code_enum_is_true()
52+
{
53+
var expected = _controller.StatusCode();
54+
var actual = _controller.WithCallTo(c => c.StatusCode())
55+
.ShouldGiveHttpStatus((HttpStatusCode) ControllerResultTestController.Code);
56+
Assert.That(actual.StatusCode, Is.EqualTo(expected.StatusCode));
57+
Assert.That(actual.StatusDescription, Is.EqualTo(expected.StatusDescription));
58+
}
2959
}
3060
}

TestStack.FluentMVCTesting.Tests/ControllerResultTestTests/ShouldReturnContentTests.cs

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

@@ -80,5 +81,16 @@ public void Emit_readable_error_message_when_the_actual_content_encoding_has_not
8081

8182
Assert.That(exception.Message, Is.EqualTo(string.Format("Expected encoding to be equal to {0}, but instead was null.", ControllerResultTestController.TextualContentEncoding.EncodingName)));
8283
}
84+
85+
[Test]
86+
public void Return_the_content_result()
87+
{
88+
var expected = (ContentResult)_controller.Content();
89+
var actual = _controller.WithCallTo(c => c.Content())
90+
.ShouldReturnContent(ControllerResultTestController.TextualContent);
91+
Assert.That(actual.Content,Is.EqualTo(expected.Content));
92+
Assert.That(actual.ContentType, Is.EqualTo(expected.ContentType));
93+
Assert.That(actual.ContentEncoding, Is.EqualTo(expected.ContentEncoding));
94+
}
8395
}
8496
}

TestStack.FluentMVCTesting.Tests/ControllerResultTestTests/ShouldReturnEmptyResultTests.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,13 @@ public void Check_for_empty_result()
99
{
1010
_controller.WithCallTo(c => c.EmptyResult()).ShouldReturnEmptyResult();
1111
}
12+
13+
[Test]
14+
public void Return_the_empty_result()
15+
{
16+
var actual = _controller.WithCallTo(c => c.EmptyResult())
17+
.ShouldReturnEmptyResult();
18+
Assert.NotNull(actual);
19+
}
1220
}
1321
}

TestStack.FluentMVCTesting.Tests/ControllerResultTestTests/ShouldReturnJsonTests.cs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,27 @@ partial class ControllerResultTestShould
88
[Test]
99
public void Allow_the_object_that_is_returned_to_be_checked()
1010
{
11-
_controller.WithCallTo(c => c.Json()).ShouldReturnJson(d => Assert.That(d, Is.EqualTo(ControllerResultTestController.JsonValue)));
11+
_controller.WithCallTo(c => c.Json())
12+
.ShouldReturnJson(d => Assert.That(d, Is.EqualTo(ControllerResultTestController.JsonValue)));
13+
}
14+
15+
[Test]
16+
public void Return_the_json_result()
17+
{
18+
var expected = _controller.Json();
19+
var actual = _controller.WithCallTo(c => c.Json()).ShouldReturnJson();
20+
Assert.That(actual.Data, Is.EqualTo(expected.Data));
21+
Assert.That(actual.JsonRequestBehavior, Is.EqualTo(expected.JsonRequestBehavior));
22+
}
23+
24+
[Test]
25+
public void Return_the_json_result_when_the_assertion_is_true()
26+
{
27+
var expected = _controller.Json();
28+
var actual =_controller.WithCallTo(c => c.Json())
29+
.ShouldReturnJson(d => Assert.That(d, Is.EqualTo(ControllerResultTestController.JsonValue)));
30+
Assert.That(actual.Data, Is.EqualTo(expected.Data));
31+
Assert.That(actual.JsonRequestBehavior, Is.EqualTo(expected.JsonRequestBehavior));
1232
}
1333
}
1434
}

TestStack.FluentMVCTesting.Tests/TestControllers/ControllerResultTestController.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class ControllerResultTestController : Controller
2727
#endregion
2828

2929
#region Empty, Null and Random Results
30-
public ActionResult EmptyResult()
30+
public EmptyResult EmptyResult()
3131
{
3232
return new EmptyResult();
3333
}
@@ -217,14 +217,14 @@ public ActionResult NotFound()
217217
{
218218
return HttpNotFound();
219219
}
220-
public ActionResult StatusCode()
220+
public HttpStatusCodeResult StatusCode()
221221
{
222222
return new HttpStatusCodeResult(Code);
223223
}
224224
#endregion
225225

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

TestStack.FluentMvcTesting/ControllerResultTest/ShouldGiveHttpStatus.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,27 @@ namespace TestStack.FluentMVCTesting
55
{
66
public partial class ControllerResultTest<T>
77
{
8-
public void ShouldGiveHttpStatus()
8+
public HttpStatusCodeResult ShouldGiveHttpStatus()
99
{
1010
ValidateActionReturnType<HttpStatusCodeResult>();
11+
return (HttpStatusCodeResult) ActionResult;
1112
}
1213

13-
public void ShouldGiveHttpStatus(int status)
14+
public HttpStatusCodeResult ShouldGiveHttpStatus(int status)
1415
{
1516
ValidateActionReturnType<HttpStatusCodeResult>();
1617

1718
var statusCodeResult = (HttpStatusCodeResult)ActionResult;
1819

1920
if (statusCodeResult.StatusCode != status)
2021
throw new ActionResultAssertionException(string.Format("Expected HTTP status code to be '{0}', but instead received a '{1}'.", status, statusCodeResult.StatusCode));
22+
return (HttpStatusCodeResult) ActionResult;
2123
}
2224

23-
public void ShouldGiveHttpStatus(HttpStatusCode status)
25+
public HttpStatusCodeResult ShouldGiveHttpStatus(HttpStatusCode status)
2426
{
2527
ShouldGiveHttpStatus((int)status);
28+
return (HttpStatusCodeResult)ActionResult;
2629
}
2730
}
2831
}

TestStack.FluentMvcTesting/ControllerResultTest/ShouldReturnEmptyResult.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@ namespace TestStack.FluentMVCTesting
44
{
55
public partial class ControllerResultTest<T>
66
{
7-
public void ShouldReturnEmptyResult()
7+
public EmptyResult ShouldReturnEmptyResult()
88
{
99
ValidateActionReturnType<EmptyResult>();
10+
return (EmptyResult) ActionResult;
1011
}
1112
}
1213
}

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)