public void TestDenyPostRedirectsWhenAlreadyCompleted() { #region Arrange var dars = new List <DepartmentalAdminRequest>(); dars.Add(CreateValidEntities.DepartmentalAdminRequest(3)); dars[0].SetIdTo("3"); dars[0].Complete = true; new FakeDepartmentalAdminRequests(0, DepartmentalAdminRequestRepository, dars, true); var dar = new DepartmentalAdminRequestViewModel { DepartmentalAdminRequest = new DepartmentalAdminRequest("3") }; #endregion Arrange #region Act Controller.Deny(dar) .AssertActionRedirect() .ToAction <DepartmentalAdminRequestController>(a => a.Index(null)); #endregion Act #region Assert Assert.AreEqual("Request was already completed", Controller.Message); DepartmentalAdminRequestRepository.AssertWasNotCalled(a => a.EnsurePersistent(Arg <DepartmentalAdminRequest> .Is.Anything)); DepartmentalAdminRequestRepository.AssertWasNotCalled(a => a.Remove(Arg <DepartmentalAdminRequest> .Is.Anything)); #endregion Assert }
public void TestDenyPostRedirectsWhenValid() { #region Arrange var dars = new List <DepartmentalAdminRequest>(); dars.Add(CreateValidEntities.DepartmentalAdminRequest(3)); dars[0].SetIdTo("3"); dars[0].Complete = false; new FakeDepartmentalAdminRequests(0, DepartmentalAdminRequestRepository, dars, true); var dar = new DepartmentalAdminRequestViewModel { DepartmentalAdminRequest = new DepartmentalAdminRequest("3") }; #endregion Arrange #region Act Controller.Deny(dar) .AssertActionRedirect() .ToAction <DepartmentalAdminRequestController>(a => a.Index(null)); #endregion Act #region Assert Assert.AreEqual("Request Denied for FirstName3 LastName3 (3)", Controller.Message); DepartmentalAdminRequestRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <DepartmentalAdminRequest> .Is.Anything)); var args = (DepartmentalAdminRequest)DepartmentalAdminRequestRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <DepartmentalAdminRequest> .Is.Anything))[0][0]; Assert.IsTrue(args.Complete); DepartmentalAdminRequestRepository.AssertWasNotCalled(a => a.Remove(Arg <DepartmentalAdminRequest> .Is.Anything)); #endregion Assert }
public void TestDenyPostThrowsExceptionIdDarNotFound() { var thisFar = false; try { #region Arrange new FakeDepartmentalAdminRequests(3, DepartmentalAdminRequestRepository); var dar = new DepartmentalAdminRequestViewModel(); dar.DepartmentalAdminRequest = new DepartmentalAdminRequest("5"); thisFar = true; #endregion Arrange #region Act Controller.Deny(dar); #endregion Act } catch (Exception ex) { Assert.IsTrue(thisFar); Assert.IsNotNull(ex); Assert.AreEqual("Sequence contains no matching element", ex.Message); throw; } }
public void TestApproveThrowsExceptionIfRequestNotFound() { var thisFar = false; try { #region Arrange new FakeDepartmentalAdminRequests(3, DepartmentalAdminRequestRepository); var daRequest = new DepartmentalAdminRequestViewModel(); daRequest.DepartmentalAdminRequest = CreateValidEntities.DepartmentalAdminRequest(9); daRequest.DepartmentalAdminRequest.SetIdTo("9"); thisFar = true; #endregion Arrange #region Act Controller.Approve(daRequest, null, null); #endregion Act } catch (Exception ex) { Assert.IsTrue(thisFar); Assert.IsNotNull(ex); Assert.AreEqual("Sequence contains no matching element", ex.Message); throw; } }
public void TestApproveWhenExistingUser3() { #region Arrange new FakeDepartmentalAdminRequests(9, DepartmentalAdminRequestRepository); var daRequest = new DepartmentalAdminRequestViewModel(); daRequest.DepartmentalAdminRequest = CreateValidEntities.DepartmentalAdminRequest(9); daRequest.DepartmentalAdminRequest.SetIdTo("3"); daRequest.MergeExistingOrgs = true; //Merge Them new FakeOrganizations(10, OrganizationRepository); var users = new List <User>(); users.Add(CreateValidEntities.User(3)); users[0].SetIdTo("3"); users[0].Roles.Add(RoleRepository.GetById(Role.Codes.DepartmentalAdmin)); users[0].Organizations.Add(OrganizationRepository.Queryable.Single(a => a.Id == "1")); users[0].Organizations.Add(OrganizationRepository.Queryable.Single(a => a.Id == "2")); new FakeUsers(0, UserRepository, users, true); #endregion Arrange #region Act Controller.Approve(daRequest, new List <string> { "1", "5" }, new List <string> { "1", "2" }) .AssertActionRedirect() .ToAction <DepartmentalAdminRequestController>(a => a.Index(null)); #endregion Act #region Assert Assert.AreEqual("FirstName3 LastName3 (3) Updated Departmental Admin Access", Controller.Message); UserRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <User> .Is.Anything)); var userArgs = (User)UserRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <User> .Is.Anything))[0][0]; Assert.IsNotNull(userArgs); Assert.AreEqual("3", userArgs.Id); Assert.AreEqual("FirstName3", userArgs.FirstName); Assert.AreEqual("LastName3", userArgs.LastName); Assert.AreEqual("*****@*****.**", userArgs.Email); Assert.AreEqual(1, userArgs.Roles.Count); Assert.AreEqual(Role.Codes.DepartmentalAdmin, userArgs.Roles[0].Id); Assert.AreEqual(3, userArgs.Organizations.Count()); Assert.AreEqual("1", userArgs.Organizations[0].Id); Assert.AreEqual("5", userArgs.Organizations[1].Id); Assert.AreEqual("2", userArgs.Organizations[2].Id); DepartmentalAdminRequestRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <DepartmentalAdminRequest> .Is.Anything)); var darArgs = (DepartmentalAdminRequest)DepartmentalAdminRequestRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <DepartmentalAdminRequest> .Is.Anything))[0][0]; Assert.IsNotNull(darArgs); Assert.IsTrue(darArgs.Complete); UserIdentity.AssertWasCalled(a => a.RemoveUserRoleFromCache(Resources.Role_CacheId, "3")); #endregion Assert }
public void TestCreatePostRedirectsWhenValid() { #region Arrange Controller.ControllerContext.HttpContext = new MockHttpContext(0, new[] { "" }, "Me"); var ldap = new DirectoryUser { LoginId = "Me", FirstName = "FirstName", LastName = "LastNasme", EmailAddress = "*****@*****.**", PhoneNumber = "999 999-9999" }; DirectorySearchService.Expect(a => a.FindUser("Me")).Return(ldap); new FakeDepartmentalAdminRequests(3, DepartmentalAdminRequestRepository); var departmentalAdminRequestViewModel = new DepartmentalAdminRequestViewModel(); departmentalAdminRequestViewModel.DepartmentalAdminRequest = CreateValidEntities.DepartmentalAdminRequest(1); departmentalAdminRequestViewModel.DepartmentalAdminRequest.SetIdTo("Me"); departmentalAdminRequestViewModel.DepartmentalAdminRequest.PhoneNumber = "333 321-1234"; departmentalAdminRequestViewModel.DepartmentalAdminRequest.DepartmentSize = 1; departmentalAdminRequestViewModel.DepartmentalAdminRequest.SharedOrCluster = true; #endregion Arrange #region Act Controller.Create(departmentalAdminRequestViewModel, new List <string> { "1", "3" }) .AssertActionRedirect() .ToAction <HomeController>(a => a.Index()); #endregion Act #region Assert Assert.AreEqual("Request created.", Controller.Message); DepartmentalAdminRequestRepository.AssertWasCalled( a => a.EnsurePersistent(Arg <DepartmentalAdminRequest> .Is.Anything)); var args = (DepartmentalAdminRequest) DepartmentalAdminRequestRepository.GetArgumentsForCallsMadeOn( a => a.EnsurePersistent(Arg <DepartmentalAdminRequest> .Is.Anything))[0][0]; Assert.IsNotNull(args); Assert.AreEqual("me", args.Id); Assert.AreEqual("FirstName", args.FirstName); Assert.AreEqual("LastNasme", args.LastName); Assert.AreEqual("*****@*****.**", args.Email); Assert.AreEqual(DateTime.UtcNow.ToPacificTime().Date, args.DateCreated.Date); Assert.AreEqual("1,3", args.Organizations); Assert.AreEqual("333 321-1234", args.PhoneNumber); Assert.AreEqual(true, args.SharedOrCluster); Assert.AreEqual(1, args.DepartmentSize); #endregion Assert }
public void TestCreatePostRetursViewWhenInvalid2() { #region Arrange Controller.ControllerContext.HttpContext = new MockHttpContext(0, new[] { "" }, "1"); var ldap = new DirectoryUser { LoginId = "Me", FirstName = "FirstName", LastName = "LastNasme", EmailAddress = null, //"*****@*****.**", PhoneNumber = "999 999-9999" }; DirectorySearchService.Expect(a => a.FindUser("1")).Return(ldap); var dars = new List <DepartmentalAdminRequest>(); dars.Add(CreateValidEntities.DepartmentalAdminRequest(1)); dars[0].Organizations = "This Will Be Replaced"; new FakeDepartmentalAdminRequests(0, DepartmentalAdminRequestRepository, dars, false); var departmentalAdminRequestViewModel = new DepartmentalAdminRequestViewModel(); departmentalAdminRequestViewModel.DepartmentalAdminRequest = CreateValidEntities.DepartmentalAdminRequest(1); departmentalAdminRequestViewModel.DepartmentalAdminRequest.SetIdTo("Me"); departmentalAdminRequestViewModel.DepartmentalAdminRequest.PhoneNumber = "333 321-1234"; departmentalAdminRequestViewModel.DepartmentalAdminRequest.DepartmentSize = 1; departmentalAdminRequestViewModel.DepartmentalAdminRequest.SharedOrCluster = true; #endregion Arrange #region Act var results = Controller.Create(departmentalAdminRequestViewModel, new List <string> { "1", "3" }) .AssertViewRendered() .WithViewData <DepartmentalAdminRequestViewModel>(); #endregion Act #region Assert Assert.IsNotNull(results); Controller.ModelState.AssertErrorsAre("The Email field is required."); Assert.AreEqual("There were Errors, please correct and try again.", Controller.ErrorMessage); Assert.AreEqual("1", results.DepartmentalAdminRequest.Id); Assert.AreEqual("FirstName", results.DepartmentalAdminRequest.FirstName); Assert.AreEqual("LastNasme", results.DepartmentalAdminRequest.LastName); Assert.AreEqual(null, results.DepartmentalAdminRequest.Email); Assert.AreEqual(DateTime.UtcNow.ToPacificTime().Date, results.DepartmentalAdminRequest.DateCreated.Date); Assert.AreEqual("1,3", results.DepartmentalAdminRequest.Organizations); Assert.AreEqual("333 321-1234", results.DepartmentalAdminRequest.PhoneNumber); Assert.AreEqual(true, results.DepartmentalAdminRequest.SharedOrCluster); Assert.AreEqual(1, results.DepartmentalAdminRequest.DepartmentSize); DepartmentalAdminRequestRepository.AssertWasCalled(a => a.GetNullableById("1")); #endregion Assert }
public void TestApproveWhenNewUser() { #region Arrange new FakeDepartmentalAdminRequests(9, DepartmentalAdminRequestRepository); var daRequest = new DepartmentalAdminRequestViewModel(); daRequest.DepartmentalAdminRequest = CreateValidEntities.DepartmentalAdminRequest(9); daRequest.DepartmentalAdminRequest.SetIdTo("9"); new FakeUsers(3, UserRepository); new FakeOrganizations(10, OrganizationRepository); #endregion Arrange #region Act Controller.Approve(daRequest, new List <string> { "1", "5" }, null) .AssertActionRedirect() .ToAction <DepartmentalAdminRequestController>(a => a.Index(null)); #endregion Act #region Assert Assert.AreEqual("FirstName9 LastName9 (9) Granted Departmental Admin Access", Controller.Message); UserRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <User> .Is.Anything)); var userArgs = (User)UserRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <User> .Is.Anything))[0][0]; Assert.IsNotNull(userArgs); Assert.AreEqual("9", userArgs.Id); Assert.AreEqual("FirstName9", userArgs.FirstName); Assert.AreEqual("LastName9", userArgs.LastName); Assert.AreEqual("*****@*****.**", userArgs.Email); Assert.AreEqual(1, userArgs.Roles.Count); Assert.AreEqual(Role.Codes.DepartmentalAdmin, userArgs.Roles[0].Id); DepartmentalAdminRequestRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <DepartmentalAdminRequest> .Is.Anything)); var darArgs = (DepartmentalAdminRequest)DepartmentalAdminRequestRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <DepartmentalAdminRequest> .Is.Anything))[0][0]; Assert.IsNotNull(darArgs); Assert.IsTrue(darArgs.Complete); UserIdentity.AssertWasCalled(a => a.RemoveUserRoleFromCache(Resources.Role_CacheId, "9")); #endregion Assert }
public void TestApprovePostRedirectsIfNoOrgsSelected2() { #region Arrange new FakeDepartmentalAdminRequests(3, DepartmentalAdminRequestRepository); var daRequest = new DepartmentalAdminRequestViewModel(); daRequest.DepartmentalAdminRequest = CreateValidEntities.DepartmentalAdminRequest(9); daRequest.DepartmentalAdminRequest.SetIdTo("3"); #endregion Arrange #region Act var result = Controller.Approve(daRequest, new List <string>(), new List <string> { "1", "2" }) .AssertActionRedirect() .ToAction <DepartmentalAdminRequestController>(a => a.Approve("3")); #endregion Act #region Assert Assert.IsNotNull(result); Assert.AreEqual("3", result.RouteValues["id"]); Assert.AreEqual("Must select at least one organization", Controller.ErrorMessage); #endregion Assert }