Dane O'Connor
Dane O'Connor

Reputation: 77288

Assert action redirected to correct action/route?

How do I exercise an action to ensure it redirects to the correct action or route?

Upvotes: 6

Views: 1243

Answers (1)

Ben Scheirman
Ben Scheirman

Reputation: 40961

public ActionResult Foo()
{
   return RedirectToAction("Products", "Index");
}

[Test]
public void foo_redirects_to_products_index()
{
   var controller = new BarController();
   var result = controller.Foo() as RedirectToRouteResult;

   if(result == null)
      Assert.Fail("should have redirected");

   Assert.That(result.RouteData.Values["Controller"], Is.EqualTo("Products"));
   Assert.That(result.RouteData.Values["Action"], Is.EqualTo("Index"));

}

Upvotes: 10

Related Questions