public async Task <ActionResult> Edit(WebUser user, EditPlaningModel model) { if (ModelState.IsValid) { if (!model.Spread) { await _planItemService.UpdateAsync(model.PlanItem); await _planItemService.SaveAsync(); } else { await _planningHelper.SpreadPlanItems(user, model.PlanItem); } if (Request.IsAjaxRequest()) { return(Json(new { url = Url.Action("ViewPlan") })); } else { return(RedirectToAction("ViewPlan")); } } return(View(model)); }
private async Task <EditPlaningModel> GetEditPlaningModel(int id) { var editPlanModel = new EditPlaningModel() { PlanItem = await _planItemService.GetItemAsync(id) }; return(editPlanModel); }
private async void Edit_UserEditPlaningModelInput_ViewResult() { var model = new EditPlaningModel(); var user = new WebUser() { Id = "1" }; var target = new PlaningController(null, null, null); target.ModelState.AddModelError("", ""); var result = await target.Edit(user, model); var modelState = ((ViewResult)result).ViewData.ModelState.IsValid; Assert.IsFalse(modelState); Assert.IsInstanceOfType(result, typeof(ViewResult)); }
private async void Edit_UserEditPlaningModelInput_ModelSpread_RedirectToAction() { Mock <IPlanItemService> mockPlan = new Mock <IPlanItemService>(); Mock <IPlanningHelper> mockHelper = new Mock <IPlanningHelper>(); var user = new WebUser(); var model = new EditPlaningModel() { PlanItem = new PlanItem(), Spread = true }; var target = new PlaningController(null, mockPlan.Object, mockHelper.Object); target.ControllerContext = GetControllerContext(target); var result = await target.Edit(user, model); mockHelper.Verify(m => m.SpreadPlanItems(user, model.PlanItem)); Assert.IsInstanceOfType(result, typeof(RedirectToRouteResult)); Assert.AreEqual(((RedirectToRouteResult)result).RouteValues["action"], "ViewPlan"); }