Exemplo n.º 1
0
        public void TestWorkgroupPeoplePostModelValidation2()
        {
            var thisFar = false;

            try
            {
                #region Arrange
                var test = new WorkgroupPeoplePostModel();
                test.Users = new List <string>();
                test.Role  = null;
                var context = new ValidationContext(test, null, null);
                thisFar = true;
                #endregion Arrange

                #region Act
                Validator.ValidateObject(test, context, true);
                #endregion Act
            }
            catch (Exception ex)
            {
                Assert.IsTrue(thisFar);
                Assert.IsNotNull(ex);
                Assert.AreEqual("The Role field is required.", ex.Message);
                throw;
            }
        }
Exemplo n.º 2
0
        public void TestWorkgroupPeoplePostModelValidation1()
        {
            var thisFar = false;

            try
            {
                #region Arrange
                var test = new WorkgroupPeoplePostModel();
                test.Users = null;
                test.Role  = new Role();
                var context = new ValidationContext(test, null, null);
                thisFar = true;
                #endregion Arrange

                #region Act
                Validator.ValidateObject(test, context, true);
                #endregion Act
            }
            catch (Exception ex)
            {
                Assert.IsTrue(thisFar);
                Assert.IsNotNull(ex);
                Assert.AreEqual("Must add at least one user", ex.Message);
                throw;
            }
        }
Exemplo n.º 3
0
        public void TestAddPeoplePostReturnsViewWhenInvalid1()
        {
            #region Arrange
            SetupDataForPeopleList();
            var postModel = new WorkgroupPeoplePostModel();
            postModel.Role = new Role();
            postModel.Role.SetIdTo(Role.Codes.DepartmentalAdmin);
            postModel.Role.Level = 1;
            #endregion Arrange

            #region Act
            var result = Controller.AddPeople(3, postModel, null)
                         .AssertViewRendered()
                         .WithViewData <WorgroupPeopleCreateModel>();

            #endregion Act

            #region Assert
            Controller.ModelState.AssertErrorsAre("Invalid Role Selected");
            Assert.IsNotNull(result);
            Assert.AreEqual(Role.Codes.DepartmentalAdmin, result.Role.Id);
            Assert.AreEqual(4, result.Roles.Count());
            Assert.AreEqual(Role.Codes.Requester, result.Roles[0].Id);
            Assert.AreEqual(Role.Codes.Approver, result.Roles[1].Id);
            Assert.AreEqual(Role.Codes.AccountManager, result.Roles[2].Id);
            Assert.AreEqual(Role.Codes.Purchaser, result.Roles[3].Id);

            Assert.AreEqual("Name3", result.Workgroup.Name);

            #endregion Assert
        }
Exemplo n.º 4
0
        public void TestAddPeoplePostReturnsViewWhenInvalid3()
        {
            #region Arrange
            SetupDataForPeopleList();
            var ldapUser = new DirectoryUser();
            ldapUser.FirstName = "Me";
            ldapUser.LastName  = "You";
            ldapUser.LoginId   = "Logger";
            SearchService.Expect(a => a.FindUser("Me")).Return(ldapUser);
            var postModel = new WorkgroupPeoplePostModel();
            postModel.Role = new Role();
            postModel.Role.SetIdTo(Role.Codes.DepartmentalAdmin);
            postModel.Role.Level = 1;
            postModel.Users      = new List <string>();
            postModel.Users.Add("1");
            postModel.Users.Add("Me");
            postModel.Users.Add("2");
            #endregion Arrange

            #region Act
            var result = Controller.AddPeople(3, postModel, null)
                         .AssertViewRendered()
                         .WithViewData <WorgroupPeopleCreateModel>();

            #endregion Act

            #region Assert
            SearchService.AssertWasCalled(a => a.FindUser("Me"));

            Controller.ModelState.AssertErrorsAre("Invalid Role Selected");
            Assert.IsNotNull(result);
            Assert.AreEqual(Role.Codes.DepartmentalAdmin, result.Role.Id);
            Assert.AreEqual(4, result.Roles.Count());
            Assert.AreEqual(Role.Codes.Requester, result.Roles[0].Id);
            Assert.AreEqual(Role.Codes.Approver, result.Roles[1].Id);
            Assert.AreEqual(Role.Codes.AccountManager, result.Roles[2].Id);
            Assert.AreEqual(Role.Codes.Purchaser, result.Roles[3].Id);
            Assert.AreEqual(3, result.Users.Count());
            Assert.AreEqual("FirstName1 LastName1 (1)", result.Users[0].DisplayNameAndId);
            Assert.AreEqual("Me You (Logger)", result.Users[1].DisplayNameAndId);
            Assert.AreEqual("FirstName2 LastName2 (2)", result.Users[2].DisplayNameAndId);

            Assert.AreEqual("Name3", result.Workgroup.Name);

            #endregion Assert
        }
Exemplo n.º 5
0
        public void TestAddPeoplePostRedirectsToPeople1()
        {
            #region Arrange
            SetupDataForPeopleList();
            string message   = "Fake Message";
            int    failCount = 2;
            SecurityService.Expect(a => a.HasWorkgroupOrOrganizationAccess(Arg <Workgroup> .Is.Anything, Arg <Organization> .Is.Anything, out Arg <string> .Out(message).Dummy)).Return(true);
            WorkgroupService.Expect(a => a.TryToAddPeople(
                                        Arg <int> .Is.Anything,
                                        Arg <Role> .Is.Anything,
                                        Arg <Workgroup> .Is.Anything,
                                        Arg <int> .Is.Anything,
                                        Arg <string> .Is.Anything,
                                        ref Arg <int> .Ref(Is.Anything(), failCount).Dummy,
                                        ref Arg <int> .Ref(Is.Anything(), failCount).Dummy,
                                        Arg <List <KeyValuePair <string, string> > > .Is.Anything)).Return(7).Repeat.Any();

            var ldapUser = new DirectoryUser();
            ldapUser.FirstName    = "Me";
            ldapUser.LastName     = "You";
            ldapUser.LoginId      = "Logger";
            ldapUser.EmailAddress = "*****@*****.**";
            SearchService.Expect(a => a.FindUser("Me")).Return(ldapUser);
            var postModel = new WorkgroupPeoplePostModel();
            postModel.Role  = RoleRepository.GetNullableById(Role.Codes.AccountManager);
            postModel.Users = new List <string>();
            postModel.Users.Add("1");
            postModel.Users.Add("Me");
            postModel.Users.Add("2");
            postModel.Users.Add("3");
            #endregion Arrange

            #region Act
            var result = Controller.AddPeople(3, postModel, null)
                         .AssertActionRedirect()
                         .ToAction <WorkgroupController>(a => a.People(3, null));
            #endregion Act

            #region Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.RouteValues["id"]);
            Assert.AreEqual(Role.Codes.AccountManager, result.RouteValues["roleFilter"]);

            WorkgroupService.AssertWasCalled(a => a.TryToAddPeople(
                                                 Arg <int> .Is.Anything,
                                                 Arg <Role> .Is.Anything,
                                                 Arg <Workgroup> .Is.Anything,
                                                 Arg <int> .Is.Anything,
                                                 Arg <string> .Is.Anything,
                                                 ref Arg <int> .Ref(Is.Anything(), failCount).Dummy,
                                                 ref Arg <int> .Ref(Is.Anything(), failCount).Dummy,
                                                 Arg <List <KeyValuePair <string, string> > > .Is.Anything), x => x.Repeat.Times(4));

            var args = WorkgroupService.GetArgumentsForCallsMadeOn(a => a.TryToAddPeople(Arg <int> .Is.Anything,
                                                                                         Arg <Role> .Is.Anything,
                                                                                         Arg <Workgroup> .Is.Anything,
                                                                                         Arg <int> .Is.Anything,
                                                                                         Arg <string> .Is.Anything,
                                                                                         ref Arg <int> .Ref(Is.Anything(), failCount).Dummy,
                                                                                         ref Arg <int> .Ref(Is.Anything(), failCount).Dummy,
                                                                                         Arg <List <KeyValuePair <string, string> > > .Is.Anything));

            Assert.AreEqual(4, args.Count());
            Assert.AreEqual(3, args[0][0]);
            Assert.AreEqual("AM", ((Role)args[0][1]).Id);
            Assert.AreEqual(3, ((Workgroup)args[0][2]).Id);
            Assert.AreEqual(0, args[0][3]);
            Assert.AreEqual(7, args[1][3]);
            Assert.AreEqual("1", args[0][4]);
            Assert.AreEqual("Me", args[1][4]);
            Assert.AreEqual("2", args[2][4]);
            Assert.AreEqual("3", args[3][4]);
            Assert.AreEqual(2, args[0][5]);


            Assert.AreEqual("Successfully added 7 people to workgroup as Account Manager. 2 not added because of duplicated role.", Controller.Message);
            #endregion Assert
        }