示例#1
0
        public void TestDeletePostRedirectWhenNotAuthorized()
        {
            #region Arrange
            var customFields = new List <CustomField>();
            customFields.Add(CreateValidEntities.CustomField(1));
            customFields[0].Organization = CreateValidEntities.Organization(9);

            new FakeCustomFields(0, CustomFieldRepository, customFields);
            SecurityService.Expect(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                           Arg <Organization> .Is.Anything,
                                                                           out Arg <string> .Out("Fail Message").Dummy)).Return(false);
            #endregion Arrange

            #region Act
            Controller.Delete(1, new CustomField())
            .AssertActionRedirect()
            .ToAction <ErrorController>(a => a.NotAuthorized());
            #endregion Act

            #region Assert
            Assert.AreEqual("Fail Message", Controller.Message);
            SecurityService.AssertWasCalled(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                    Arg <Organization> .Is.Anything,
                                                                                    out Arg <string> .Out("Fail Message").Dummy));
            var args = SecurityService.GetArgumentsForCallsMadeOn(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                                          Arg <Organization> .Is.Anything,
                                                                                                          out Arg <string> .Out("Fail Message").Dummy))[0];
            Assert.IsNull(args[0]);
            Assert.AreEqual("Name9", ((Organization)args[1]).Name);
            CustomFieldRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            CustomFieldRepository.AssertWasNotCalled(a => a.Remove(Arg <CustomField> .Is.Anything));
            #endregion Assert
        }
示例#2
0
        public void TestCreatePostReturnsViewWhenInvalid()
        {
            #region Arrange
            new FakeOrganizations(3, OrganazationRepository);
            SecurityService.Expect(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                           Arg <Organization> .Is.Anything,
                                                                           out Arg <string> .Out(null).Dummy)).Return(true);
            var customField = new CustomField();
            customField.IsRequired   = true;
            customField.Organization = null;
            customField.Rank         = 9;
            #endregion Arrange

            #region Act
            var result = Controller.Create("2", customField)
                         .AssertViewRendered()
                         .WithViewData <CustomFieldViewModel>();
            #endregion Act

            #region Assert
            Assert.IsNotNull(result);
            Assert.IsNull(result.CustomField.Organization);
            Assert.AreEqual(9, result.CustomField.Rank);
            Assert.IsTrue(result.CustomField.IsRequired);
            SecurityService.AssertWasCalled(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                    Arg <Organization> .Is.Anything,
                                                                                    out Arg <string> .Out("Fail Message").Dummy));
            CustomFieldRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            #endregion Assert
        }
示例#3
0
        public void TestUpdateOrderReturnsFalseWhenIdsAreNull()
        {
            #region Arrange
            new FakeCustomFields(10, CustomFieldRepository);
            #endregion Arrange

            #region Act
            var result = Controller.UpdateOrder("9", null)
                         .AssertResultIs <JsonNetResult>();
            #endregion Act

            #region Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("false", result.JsonResultString);
            CustomFieldRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            #endregion Assert
        }
示例#4
0
        public void TestEditPostRedirectsToIndexIfCustomFieldNotFound()
        {
            #region Arrange
            new FakeCustomFields(3, CustomFieldRepository);
            #endregion Arrange

            #region Act
            Controller.Edit(4, new CustomField())
            .AssertActionRedirect()
            .ToAction <ErrorController>(a => a.Index());
            #endregion Act

            #region Assert
            Assert.AreEqual("Custom Field not found.", Controller.ErrorMessage);
            CustomFieldRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            #endregion Assert
        }
示例#5
0
        public void TestDeletePostReturnsView()
        {
            #region Arrange
            var customFields = new List <CustomField>();
            customFields.Add(CreateValidEntities.CustomField(1));
            customFields[0].Organization = CreateValidEntities.Organization(9);
            customFields[0].Organization.SetIdTo("9");
            customFields[0].IsActive = true;

            new FakeCustomFields(0, CustomFieldRepository, customFields);
            SecurityService.Expect(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                           Arg <Organization> .Is.Anything,
                                                                           out Arg <string> .Out(null).Dummy)).Return(true);
            #endregion Arrange

            #region Act
            var result = Controller.Delete(1, new CustomField())
                         .AssertActionRedirect()
                         .ToAction <CustomFieldController>(a => a.Index("9"));
            #endregion Act

            #region Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("9", result.RouteValues["id"]);
            Assert.AreEqual("CustomField Removed Successfully", Controller.Message);

            SecurityService.AssertWasCalled(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                    Arg <Organization> .Is.Anything,
                                                                                    out Arg <string> .Out("Fail Message").Dummy));
            var ssargs = SecurityService.GetArgumentsForCallsMadeOn(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                                            Arg <Organization> .Is.Anything,
                                                                                                            out Arg <string> .Out(null).Dummy))[0];
            Assert.IsNull(ssargs[0]);
            Assert.AreEqual("Name9", ((Organization)ssargs[1]).Name);

            CustomFieldRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            var args = (CustomField)CustomFieldRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything))[0][0];
            Assert.IsNotNull(args);
            Assert.AreEqual("Name1", args.Name);
            Assert.IsFalse(args.IsActive);

            CustomFieldRepository.AssertWasNotCalled(a => a.Remove(Arg <CustomField> .Is.Anything));
            #endregion Assert
        }
示例#6
0
        public void TestEditPostReturnsViewWhenInvalid()
        {
            #region Arrange
            var customFields = new List <CustomField>();
            customFields.Add(CreateValidEntities.CustomField(1));
            customFields[0].Organization = CreateValidEntities.Organization(9);

            new FakeCustomFields(0, CustomFieldRepository, customFields);
            SecurityService.Expect(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                           Arg <Organization> .Is.Anything,
                                                                           out Arg <string> .Out(null).Dummy)).Return(true);
            var customField = CreateValidEntities.CustomField(9);
            customField.Name = null;
            #endregion Arrange

            #region Act
            var result = Controller.Edit(1, customField)
                         .AssertViewRendered()
                         .WithViewData <CustomFieldViewModel>();
            #endregion Act

            #region Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("Name9", result.Organization.Name);
            Assert.AreEqual("Name9", result.CustomField.Organization.Name);
            Assert.AreEqual(null, result.CustomField.Name);
            Assert.IsTrue(result.CustomField.IsActive);
            Assert.AreEqual(0, result.CustomField.Rank);
            Assert.IsFalse(result.CustomField.IsRequired);
            SecurityService.AssertWasCalled(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                    Arg <Organization> .Is.Anything,
                                                                                    out Arg <string> .Out("Fail Message").Dummy));
            var args = SecurityService.GetArgumentsForCallsMadeOn(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything,
                                                                                                          Arg <Organization> .Is.Anything,
                                                                                                          out Arg <string> .Out(null).Dummy))[0];
            Assert.IsNull(args[0]);
            Assert.AreEqual("Name9", ((Organization)args[1]).Name);
            Controller.ModelState.AssertErrorsAre("The Name field is required.");
            CustomFieldRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            #endregion Assert
        }
示例#7
0
        public void TestUpdateOrderReturnsTrueWhenNotExceptions1()
        {
            #region Arrange
            new FakeCustomFields(10, CustomFieldRepository);
            var idsToReorder = new List <int>()
            {
                99, 100
            };
            #endregion Arrange

            #region Act
            var result = Controller.UpdateOrder("9", idsToReorder)
                         .AssertResultIs <JsonNetResult>();
            #endregion Act

            #region Assert
            Assert.IsNotNull(result);
            Assert.AreEqual("true", result.JsonResultString);
            CustomFieldRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <CustomField> .Is.Anything));
            #endregion Assert
        }