コード例 #1
0
        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
        }
コード例 #2
0
        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
        }
コード例 #3
0
        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
        }
コード例 #4
0
        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
        }
コード例 #5
0
        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
        }