public async Task Post_Edit_with_invalid_modelState() { var form = new PayeeEditorForm(); controller.ModelState.AddModelError("somekey", "some error"); var result = await controller.Edit(form) as ViewResult; Assert.AreEqual(result.Model, form, "it should redisplay the form"); mediator.DidNotReceive() .SendAsync(Arg.Any <AddOrEditPayeeCommand>()) .IgnoreAwaitForNSubstituteAssertion(); }
public async Task Get_Create() { var from = new PayeeEditorForm(); mediator.SendAsync(Arg.Any <PayeeEditorFormQuery>()) .Returns(Task.FromResult(from)); var result = await controller.Create() as ViewResult; Assert.AreEqual(result.Model, from); mediator.Received() .SendAsync(Arg.Any <PayeeEditorFormQuery>()) .IgnoreAwaitForNSubstituteAssertion(); }
public async Task Post_Edit_with_vaid_model_state() { var form = new PayeeEditorForm(); var payeeId = 42; mediator.SendAsync(Arg.Any <AddOrEditPayeeCommand>()) .Returns(Task.FromResult(new SuccessResult(payeeId) as ICommandResult)); var result = await controller.Edit(form) as RedirectToRouteResult; Assert.IsNotNull(result); Assert.AreEqual(result.RouteValues["action"], "Show", "it should redirect to the show page"); Assert.AreEqual(result.RouteValues["id"], payeeId, "it should redirect to the generated client id"); }
public async Task Get_Edit_with_valid_id() { var id = new int?(42); var form = new PayeeEditorForm(); mediator.SendAsync(Arg.Any <PayeeEditorFormQuery>()) .Returns(Task.FromResult(form)); var result = await controller.Edit(id) as ViewResult; Assert.AreEqual(result.Model, form); mediator.Received() .SendAsync(Arg.Is <PayeeEditorFormQuery>(q => q.PayeeId == id)) .IgnoreAwaitForNSubstituteAssertion(); }
public async Task <ActionResult> Edit(PayeeEditorForm form) { Logger.Trace("Edit::Post::{0}", form.PayeeId); if (ModelState.IsValid) { var result = await mediator.SendAsync(new AddOrEditPayeeCommand(form, ModelState)); if (result.IsSuccess) { return(RedirectToAction("Show", new { Id = result.Result })); } ModelState.AddModelError("", result.Result.ToString()); } return(View(form)); }
public async Task Post_Edit_with_vaid_model_state_failure() { var form = new PayeeEditorForm(); var failureMesage = "some error text"; mediator.SendAsync(Arg.Any <AddOrEditPayeeCommand>()) .Returns(Task.FromResult(new FailureResult(failureMesage) as ICommandResult)); var result = await controller.Edit(form) as ViewResult; Assert.AreEqual(result.Model, form); Assert.IsFalse(controller.ModelState.IsValid); Assert.IsTrue(controller.ModelState[""] .Errors.Any(e => e.ErrorMessage.Equals(failureMesage))); }