Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,30 @@ namespace TestStack.FluentMVCTesting
{
public partial class ControllerResultTest<T> where T : Controller
{
private readonly T _controller;
private readonly string _actionName;
private readonly ActionResult _actionResult;
public T Controller { get; private set; }
public string ActionName { get; private set; }
public ActionResult ActionResult { get; private set; }

private void ValidateActionReturnType<TActionResult>() where TActionResult : ActionResult
public void ValidateActionReturnType<TActionResult>() where TActionResult : ActionResult
{
var castedActionResult = _actionResult as TActionResult;
var castedActionResult = ActionResult as TActionResult;

if (_actionResult == null)
if (ActionResult == null)
throw new ActionResultAssertionException(string.Format("Received null action result when expecting {0}.", typeof(TActionResult).Name));

if (castedActionResult == null)
throw new ActionResultAssertionException(
string.Format("Expected action result to be a {0}, but instead received a {1}.",
typeof(TActionResult).Name, _actionResult.GetType().Name
typeof(TActionResult).Name, ActionResult.GetType().Name
)
);
}

public ControllerResultTest(T controller, string actionName, ActionResult actionResult)
{
_controller = controller;
_actionName = actionName;
_actionResult = actionResult;
Controller = controller;
ActionName = actionName;
ActionResult = actionResult;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ public void ShouldGiveHttpStatus(int status)
{
ValidateActionReturnType<HttpStatusCodeResult>();

var statusCodeResult = (HttpStatusCodeResult)_actionResult;
var statusCodeResult = (HttpStatusCodeResult)ActionResult;

if (statusCodeResult.StatusCode != status)
throw new ActionResultAssertionException(string.Format("Expected HTTP status code to be '{0}', but instead received a '{1}'.", status, statusCodeResult.StatusCode));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public partial class ControllerResultTest<T>
public void ShouldRedirectTo(string url)
{
ValidateActionReturnType<RedirectResult>();
var redirectResult = (RedirectResult)_actionResult;
var redirectResult = (RedirectResult)ActionResult;

if (redirectResult.Url != url)
throw new ActionResultAssertionException(string.Format("Expected redirect to URL '{0}', but instead was given a redirect to URL '{1}'.", url, redirectResult.Url));
Expand All @@ -21,7 +21,7 @@ public void ShouldRedirectTo(string url)
public RouteValueDictionary ShouldRedirectToRoute(string route)
{
ValidateActionReturnType<RedirectToRouteResult>();
var redirectResult = (RedirectToRouteResult)_actionResult;
var redirectResult = (RedirectToRouteResult)ActionResult;

if (redirectResult.RouteName != route)
throw new ActionResultAssertionException(string.Format("Expected redirect to route '{0}', but instead was given a redirect to route '{1}'.", route, redirectResult.RouteName));
Expand All @@ -31,27 +31,27 @@ public RouteValueDictionary ShouldRedirectToRoute(string route)

public RouteValueDictionary ShouldRedirectTo(Func<T, Func<ActionResult>> actionRedirectedTo)
{
return ShouldRedirectTo(actionRedirectedTo(_controller).Method);
return ShouldRedirectTo(actionRedirectedTo(Controller).Method);
}

public RouteValueDictionary ShouldRedirectTo(Func<T, Func<int, ActionResult>> actionRedirectedTo)
{
return ShouldRedirectTo(actionRedirectedTo(_controller).Method);
return ShouldRedirectTo(actionRedirectedTo(Controller).Method);
}

public RouteValueDictionary ShouldRedirectTo<T1>(Func<T, Func<T1, ActionResult>> actionRedirectedTo)
{
return ShouldRedirectTo(actionRedirectedTo(_controller).Method);
return ShouldRedirectTo(actionRedirectedTo(Controller).Method);
}

public RouteValueDictionary ShouldRedirectTo<T1, T2>(Func<T, Func<T1, T2, ActionResult>> actionRedirectedTo)
{
return ShouldRedirectTo(actionRedirectedTo(_controller).Method);
return ShouldRedirectTo(actionRedirectedTo(Controller).Method);
}

public RouteValueDictionary ShouldRedirectTo<T1, T2, T3>(Func<T, Func<T1, T2, T3, ActionResult>> actionRedirectedTo)
{
return ShouldRedirectTo(actionRedirectedTo(_controller).Method);
return ShouldRedirectTo(actionRedirectedTo(Controller).Method);
}

public RouteValueDictionary ShouldRedirectTo(Expression<Action<T>> actionRedirectedTo)
Expand All @@ -66,7 +66,7 @@ public RouteValueDictionary ShouldRedirectTo(MethodInfo method, RouteValueDictio

var controllerName = new Regex(@"Controller$").Replace(typeof(T).Name, "");
var actionName = method.Name;
var redirectResult = (RedirectToRouteResult)_actionResult;
var redirectResult = (RedirectToRouteResult)ActionResult;

if (redirectResult.RouteValues.ContainsKey("Controller") && redirectResult.RouteValues["Controller"].ToString() != controllerName)
throw new ActionResultAssertionException(string.Format("Expected redirect to controller '{0}', but instead was given a redirect to controller '{1}'.", controllerName, redirectResult.RouteValues["Controller"]));
Expand Down Expand Up @@ -114,7 +114,7 @@ public RouteValueDictionary ShouldRedirectTo<TController>(MethodInfo methodInfo)
var controllerName = new Regex(@"Controller$").Replace(typeof(TController).Name, "");
var actionName = methodInfo.Name;

var redirectResult = (RedirectToRouteResult)_actionResult;
var redirectResult = (RedirectToRouteResult)ActionResult;

if (redirectResult.RouteValues["Controller"] == null)
throw new ActionResultAssertionException(string.Format("Expected redirect to action '{0}' in '{1}' controller, but instead was given redirect to action '{2}' within the same controller.", actionName, controllerName, redirectResult.RouteValues["Action"]));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ private static byte[] ConvertStreamToArray(Stream stream)
public FileResult ShouldRenderAnyFile(string contentType = null)
{
ValidateActionReturnType<FileResult>();
var fileResult = (FileResult)_actionResult;
var fileResult = (FileResult)ActionResult;

EnsureContentTypeIsSame(fileResult.ContentType, contentType);

Expand All @@ -40,7 +40,7 @@ public FileResult ShouldRenderAnyFile(string contentType = null)
public FileContentResult ShouldRenderFileContents(byte[] contents = null, string contentType = null)
{
ValidateActionReturnType<FileContentResult>();
var fileResult = (FileContentResult)_actionResult;
var fileResult = (FileContentResult)ActionResult;

EnsureContentTypeIsSame(fileResult.ContentType, contentType);

Expand All @@ -58,7 +58,7 @@ public FileContentResult ShouldRenderFileContents(byte[] contents = null, string
public FileContentResult ShouldRenderFileContents(string contents, string contentType = null, Encoding encoding = null)
{
ValidateActionReturnType<FileContentResult>();
var fileResult = (FileContentResult)_actionResult;
var fileResult = (FileContentResult)ActionResult;

EnsureContentTypeIsSame(fileResult.ContentType, contentType);

Expand Down Expand Up @@ -86,7 +86,7 @@ public FileStreamResult ShouldRenderFileStream(byte[] content, string contentTyp
public FileStreamResult ShouldRenderFileStream(Stream stream = null, string contentType = null)
{
ValidateActionReturnType<FileStreamResult>();
var fileResult = (FileStreamResult)_actionResult;
var fileResult = (FileStreamResult)ActionResult;

EnsureContentTypeIsSame(fileResult.ContentType, contentType);

Expand All @@ -110,7 +110,7 @@ public FileStreamResult ShouldRenderFileStream(Stream stream = null, string cont
public FileStreamResult ShouldRenderFileStream(string contents, string contentType = null, Encoding encoding = null)
{
ValidateActionReturnType<FileStreamResult>();
var fileResult = (FileStreamResult)_actionResult;
var fileResult = (FileStreamResult)ActionResult;

EnsureContentTypeIsSame(fileResult.ContentType, contentType);

Expand All @@ -132,7 +132,7 @@ public FileStreamResult ShouldRenderFileStream(string contents, string contentTy
public FilePathResult ShouldRenderFilePath(string fileName = null, string contentType = null)
{
ValidateActionReturnType<FilePathResult>();
var fileResult = (FilePathResult)_actionResult;
var fileResult = (FilePathResult)ActionResult;

EnsureContentTypeIsSame(fileResult.ContentType, contentType);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ private ViewResultTest ShouldRenderViewResult<TViewResult>(string viewName) wher
{
ValidateActionReturnType<TViewResult>();

var viewResult = (TViewResult)_actionResult;
var viewResult = (TViewResult)ActionResult;

if (viewResult.ViewName != viewName && (viewName != _actionName || viewResult.ViewName != ""))
if (viewResult.ViewName != viewName && (viewName != ActionName || viewResult.ViewName != ""))
{
throw new ActionResultAssertionException(string.Format("Expected result view to be '{0}', but instead was given '{1}'.", viewName, viewResult.ViewName == "" ? _actionName : viewResult.ViewName));
throw new ActionResultAssertionException(string.Format("Expected result view to be '{0}', but instead was given '{1}'.", viewName, viewResult.ViewName == "" ? ActionName : viewResult.ViewName));
}

return new ViewResultTest(viewResult, _controller);
return new ViewResultTest(viewResult, Controller);
}

public ViewResultTest ShouldRenderView(string viewName)
Expand All @@ -30,12 +30,12 @@ public ViewResultTest ShouldRenderPartialView(string viewName)

public ViewResultTest ShouldRenderDefaultView()
{
return ShouldRenderView(_actionName);
return ShouldRenderView(ActionName);
}

public ViewResultTest ShouldRenderDefaultPartialView()
{
return ShouldRenderPartialView(_actionName);
return ShouldRenderPartialView(ActionName);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ public partial class ControllerResultTest<T>
public ContentResult ShouldReturnContent(string content = null, string contentType = null, Encoding encoding = null)
{
ValidateActionReturnType<ContentResult>();
var contentResult = (ContentResult)_actionResult;
var contentResult = (ContentResult)ActionResult;

if (contentType != null && contentType != contentResult.ContentType)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ public void ShouldReturnJson()
public void ShouldReturnJson(Action<dynamic> assertion)
{
ValidateActionReturnType<JsonResult>();
var jsonResult = (JsonResult)_actionResult;
var jsonResult = (JsonResult)ActionResult;
assertion(jsonResult.Data);
}
}
Expand Down