public void TestEditPostReturnsViewWhenInvalid3() { #region Arrange Controller.ControllerContext.HttpContext = new MockHttpContext(0, new[] { "" }, "Me"); SetupData2(); SetupData3(); var autoApprovalToEdit = CreateValidEntities.AutoApproval(99); autoApprovalToEdit.SetIdTo(99); autoApprovalToEdit.MaxAmount = (decimal)12.44; autoApprovalToEdit.TargetUser = CreateValidEntities.User(88); autoApprovalToEdit.Account = CreateValidEntities.Account(87); autoApprovalToEdit.User = null; #endregion Arrange #region Act var result = Controller.Edit(3, autoApprovalToEdit, true) .AssertViewRendered() .WithViewData <AutoApprovalViewModel>(); #endregion Act #region Assert Assert.IsNotNull(result); Assert.AreEqual(4, result.Users.Count); Assert.AreEqual(7, result.Accounts.Count); Assert.AreEqual("Someone55", result.Users[0].Id); Assert.AreEqual("Someone2", result.Users[1].Id); Assert.AreEqual("Someone3", result.Users[2].Id); Assert.AreEqual("Someone4", result.Users[3].Id); Assert.AreEqual("AccountName2", result.Accounts[0].Name); Assert.AreEqual("AccountName3", result.Accounts[1].Name); Assert.AreEqual("AccountName5", result.Accounts[2].Name); Assert.AreEqual("AccountName6", result.Accounts[3].Name); Assert.AreEqual("AccountName7", result.Accounts[4].Name); Assert.AreEqual("AccountName8", result.Accounts[5].Name); Assert.AreEqual("AccountName9", result.Accounts[6].Name); Assert.AreEqual(3, result.AutoApproval.Id); Assert.AreEqual((decimal)12.44, result.AutoApproval.MaxAmount); Assert.IsNotNull(result.AutoApproval.User); Assert.IsTrue(Controller.ViewBag.ShowAll); Assert.IsFalse(Controller.ViewBag.IsCreate); Controller.ModelState.AssertErrorsAre("An account OR user must be selected, not both."); AutoApprovalRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <AutoApproval> .Is.Anything)); #endregion Assert }
public void TestDeletePostRedirectsToErrorWhenCurrentIdDifferent() { #region Arrange Controller.ControllerContext.HttpContext = new MockHttpContext(0, new[] { "" }, "NotMe"); SetupData3(); #endregion Arrange #region Act Controller.Delete(3, new AutoApproval()) .AssertActionRedirect() .ToAction <ErrorController>(a => a.Index()); #endregion Act #region Assert Assert.AreEqual("No Access", Controller.ErrorMessage); AutoApprovalRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <AutoApproval> .Is.Anything)); AutoApprovalRepository.AssertWasNotCalled(a => a.Remove(Arg <AutoApproval> .Is.Anything)); #endregion Assert }
public void TestDeletePostRedirectsToIndexWhenAutoApprovalNotFound3() { #region Arrange SetupData3(); #endregion Arrange #region Act var result = Controller.Delete(4, new AutoApproval()) .AssertActionRedirect() .ToAction <AutoApprovalController>(a => a.Index(false)); #endregion Act #region Assert Assert.IsNotNull(result); Assert.AreEqual(false, result.RouteValues["showAll"]); AutoApprovalRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <AutoApproval> .Is.Anything)); AutoApprovalRepository.AssertWasNotCalled(a => a.Remove(Arg <AutoApproval> .Is.Anything)); #endregion Assert }
public void TestDeletePostRedirectsWhenAlreadyDeactivated() { #region Arrange Controller.ControllerContext.HttpContext = new MockHttpContext(0, new[] { "" }, "NotMe"); SetupData3(); #endregion Arrange #region Act var result = Controller.Delete(1, new AutoApproval(), true) .AssertActionRedirect() .ToAction <AutoApprovalController>(a => a.Index(true)); #endregion Act #region Assert Assert.IsNotNull(result); Assert.AreEqual(true, result.RouteValues["showAll"]); AutoApprovalRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <AutoApproval> .Is.Anything)); AutoApprovalRepository.AssertWasNotCalled(a => a.Remove(Arg <AutoApproval> .Is.Anything)); #endregion Assert }
public void TestDeletePostRedirectsToErrorWhenValid() { #region Arrange Controller.ControllerContext.HttpContext = new MockHttpContext(0, new[] { "" }, "Me"); SetupData3(); #endregion Arrange #region Act var result = Controller.Delete(3, new AutoApproval(), true) .AssertActionRedirect() .ToAction <AutoApprovalController>(a => a.Index(true)); #endregion Act #region Assert Assert.IsNotNull(result); Assert.AreEqual(true, result.RouteValues["showAll"]); Assert.AreEqual("AutoApproval Deactivated Successfully", Controller.Message); AutoApprovalRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <AutoApproval> .Is.Anything)); var args = (AutoApproval)AutoApprovalRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <AutoApproval> .Is.Anything))[0][0]; Assert.IsNotNull(args); Assert.IsFalse(args.IsActive); AutoApprovalRepository.AssertWasNotCalled(a => a.Remove(Arg <AutoApproval> .Is.Anything)); #endregion Assert }