public void TestAddPermission() { #region Arrange Controller.ControllerContext.HttpContext = new MockHttpContext(1, new[] { "" }); ControllerRecordFakes.FakeRoles(5, RoleRepository); ControllerRecordFakes.FakeApplications(3, ApplicationRepository); ControllerRecordFakes.FakeUsers(3, UserRepository); ControllerRecordFakes.FakePermissions(1, PermissionRepository); UserService.Expect(a => a.CanUserManageGivenLogin("Name3", "UserName", "LoginId3")).Return(true).Repeat.Any(); RoleService.Expect(a => a.GetVisibleByUser("Name3", "UserName")).Return(RoleRepository.Queryable).Repeat.Any(); PermissionRepository.Expect(a => a.EnsurePersistent(Arg <Permission> .Is.Anything)).Repeat.Any(); #endregion Arrange #region Act Controller.AddPermission("Name3", "LoginId3", 2); #endregion Act #region Assert UserService.AssertWasCalled(a => a.CanUserManageGivenLogin("Name3", "UserName", "LoginId3")); RoleService.AssertWasCalled(a => a.GetVisibleByUser("Name3", "UserName")); PermissionRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <Permission> .Is.Anything)); var args = (Permission)PermissionRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <Permission> .Is.Anything))[0][0]; Assert.IsNotNull(args); Assert.AreEqual("Name2", args.Role.Name); Assert.AreEqual("LoginId3", args.User.LoginId); Assert.AreEqual("Name3", args.Application.ToString()); Assert.IsFalse(args.Inactive); #endregion Assert }
public void TestInsertNewUserReturnsExpectedValue1() { #region Arrange const string applicationName = "Name2"; ControllerRecordFakes.FakeUsers(3, UserRepository); AutomapperConfig.Configure(); var serviceUser = CreateValidEntities.ServiceUser(4); ControllerRecordFakes.FakeApplications(3, ApplicationRepository); ControllerRecordFakes.FakeRoles(3, RoleRepository); ControllerRecordFakes.FakeUnits(3, UnitRepository); ControllerRecordFakes.FakePermissions(3, PermissionRepository); ControllerRecordFakes.FakeUnitAssociations(3, UnitAssociationRepository); #endregion Arrange #region Act var result = Controller.InsertNewUser(applicationName, serviceUser, 3, 2) .AssertResultIs <JsonResult>(); #endregion Act #region Assert Assert.IsNotNull(result); var result2 = (ServiceUser)result.Data; Assert.IsNotNull(result2); Assert.AreEqual("*****@*****.**", result2.Email); Assert.AreEqual("FirstName4", result2.FirstName); Assert.AreEqual("LastName4", result2.LastName); Assert.AreEqual("LoginId4", result2.Login); Assert.AreEqual("+1 530 755 7777", result2.Phone); UserRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <User> .Is.Anything)); var userArgs = (User)UserRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <User> .Is.Anything))[0][0]; Assert.AreEqual("*****@*****.**", userArgs.Email); Assert.AreEqual("FirstName4", userArgs.FirstName); Assert.IsFalse(userArgs.Inactive); Assert.AreEqual("LastName4", userArgs.LastName); Assert.AreEqual("LoginId4", userArgs.LoginId); Assert.AreEqual("+1 530 755 7777", userArgs.Phone); PermissionRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <Permission> .Is.Anything)); var permissionArgs = (Permission)PermissionRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <Permission> .Is.Anything))[0][0]; Assert.IsNotNull(permissionArgs); Assert.AreEqual(applicationName, permissionArgs.Application.ToString()); Assert.AreEqual("Name3", permissionArgs.Role.Name); Assert.IsFalse(permissionArgs.Inactive); Assert.AreEqual(userArgs.LoginId, permissionArgs.User.LoginId); UnitAssociationRepository.AssertWasCalled(a => a.EnsurePersistent(Arg <UnitAssociation> .Is.Anything)); var unitAssociationArgs = (UnitAssociation)UnitAssociationRepository.GetArgumentsForCallsMadeOn(a => a.EnsurePersistent(Arg <UnitAssociation> .Is.Anything))[0][0]; Assert.IsNotNull(unitAssociationArgs); Assert.AreEqual(applicationName, unitAssociationArgs.Application.ToString()); Assert.AreEqual("ShortName2", unitAssociationArgs.Unit.ShortName); Assert.IsFalse(unitAssociationArgs.Inactive); Assert.AreEqual(userArgs.LoginId, unitAssociationArgs.User.LoginId); #endregion Assert }
public void TestRemovePermission() { #region Arrange Controller.ControllerContext.HttpContext = new MockHttpContext(1, new[] { "" }); ControllerRecordFakes.FakeApplications(3, ApplicationRepository); ControllerRecordFakes.FakeUsers(3, UserRepository); ControllerRecordFakes.FakeRoles(5, RoleRepository); var permissions = new List <Permission>(); for (int i = 0; i < 3; i++) { permissions.Add(CreateValidEntities.Permission(i + 1)); permissions[i].User = UserRepository.GetNullableById(1); permissions[i].Application = ApplicationRepository.GetNullableById(2); permissions[i].Role = RoleRepository.GetNullableById(i + 1); } permissions[1].Role = RoleRepository.GetNullableById(4); ControllerRecordFakes.FakePermissions(1, PermissionRepository, permissions); UserService.Expect(a => a.CanUserManageGivenLogin("Name2", "UserName", "LoginId1")).Return(true).Repeat.Any(); RoleService.Expect(a => a.GetVisibleByUser("Name2", "UserName")).Return(RoleRepository.Queryable).Repeat.Any(); PermissionRepository.Expect(a => a.Remove(Arg <Permission> .Is.Anything)).Repeat.Any(); #endregion Arrange #region Act Controller.RemovePermission("Name2", "LoginId1", 4); #endregion Act #region Assert UserService.AssertWasCalled(a => a.CanUserManageGivenLogin("Name2", "UserName", "LoginId1")); RoleService.AssertWasCalled(a => a.GetVisibleByUser("Name2", "UserName")); PermissionRepository.AssertWasCalled(a => a.Remove(Arg <Permission> .Is.Anything)); var args = (Permission)PermissionRepository.GetArgumentsForCallsMadeOn(a => a.Remove(Arg <Permission> .Is.Anything))[0][0]; Assert.IsNotNull(args); Assert.AreEqual("Name4", args.Role.Name); Assert.AreEqual("LoginId1", args.User.LoginId); Assert.AreEqual("Name2", args.Application.ToString()); #endregion Assert }
public void Should_load_any_available_permission_for_the_user_and_action() { PermissionRepository.AssertWasCalled(r => r.GetPermissionsByUserWithRoles(_user, _action)); }