public void RedirectSetting_ShouldRedirectWithRightParametersForCommandTwoWhereWeGoToDiamondSearch() { //Arrange var controller = CreateDefaultJewelDesignController(); var redirectSettingModel = new RedirectSettingModel() { DiamondID = Tests.FAKE_DIAMOND_REPOSITORY_FIRST_ITEM_ID, MediaType = JewelMediaType.YellowGold, CommandID = 2, SettingID = Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, Size = "8" }; //Act var result = controller.RedirectSetting(redirectSettingModel); //Assert result.AssertActionRedirect() .WithParameter("DiamondID", 0); result.AssertActionRedirect() .WithParameter("SettingID", redirectSettingModel.SettingID); result.AssertActionRedirect() .WithParameter("Size", redirectSettingModel.Size); result.AssertActionRedirect() .WithParameter("MediaType", redirectSettingModel.MediaType); }
public void RedirectSetting_ShouldRedirectWithRightParametersForCommandThreeWhereWeGoToShoppingCart() { //Arrange var controller = CreateDefaultJewelDesignController(); var redirectSettingModel = new RedirectSettingModel() { DiamondID = Tests.FAKE_DIAMOND_REPOSITORY_FIRST_ITEM_ID, MediaType = JewelMediaType.YellowGold, CommandID = 3, SettingID = Tests.FAKE_JEWELRY_REPOSITORY_FIRST_ITEM_ID, Size = "8" }; //Act var result = controller.RedirectSetting(redirectSettingModel); //Assert result.AssertActionRedirect().ToController("Checkout").ToAction("ShoppingCartAddJewel"); result.AssertActionRedirect() .WithParameter("id", redirectSettingModel.SettingID); result.AssertActionRedirect() .WithParameter("size", redirectSettingModel.Size); result.AssertActionRedirect() .WithParameter("MediaType", redirectSettingModel.MediaType); }
public ActionResult RedirectSetting(RedirectSettingModel redirectSettingModel) { switch (redirectSettingModel.CommandID) { case 1: return(RedirectToRoute("End", new RouteValueDictionary() { { "SettingID", redirectSettingModel.SettingID }, { "DiamondID", redirectSettingModel.DiamondID }, { "Size", redirectSettingModel.Size }, { "MediaType", redirectSettingModel.MediaType } })); case 2: return(RedirectToRoute("DiamondSearch", new RouteValueDictionary() { { "SettingID", redirectSettingModel.SettingID }, { "DiamondID", 0 }, { "Size", redirectSettingModel.Size }, { "MediaType", redirectSettingModel.MediaType }, })); case 3: return(RedirectToAction("ShoppingCartAddJewel", "Checkout", new RouteValueDictionary() { { "id", redirectSettingModel.SettingID }, { "size", redirectSettingModel.Size }, { "MediaType", redirectSettingModel.MediaType } })); default: throw new Exception("When asked to redirect from jewel design setting page an invalid commandid was given:" + redirectSettingModel.CommandID); } }