public void ReturnFalseWhenComparedWithANonRoleObject() { CashierRole cashierRole = CashierRole.GetInstance(); string nonRoleObject = "Hello World!"; Assert.AreNotEqual(cashierRole, nonRoleObject); }
public void NotCreateMultipleInstancesOfSameRole() { CashierRole firstCashierRole = CashierRole.GetInstance(); CashierRole secondCashierRole = CashierRole.GetInstance(); Assert.AreSame(firstCashierRole, secondCashierRole); }
public void HaveItsNamesHashCode() { CashierRole cashierRole = CashierRole.GetInstance(); int cashierRoleHashCode = cashierRole.GetHashCode(); Assert.AreEqual(cashierRoleHashCode, cashierRole.Name.GetHashCode()); }
public void FailIfPasswordDoesntHaveAtLeastOneNumber() { Role cashierRole = CashierRole.GetInstance(); string userEmail = "*****@*****.**"; string userName = "******"; string password = "******"; User newUser = new User(userName, userEmail, password, cashierRole); }
public void FailIfPasswordIsNull() { Role cashierRole = CashierRole.GetInstance(); string userEmail = "*****@*****.**"; string userName = "******"; string password = null; User newUser = new User(userName, userEmail, password, cashierRole); }
public void HaveAtLeastOnePrivilege() { CashierRole cashierRole = CashierRole.GetInstance(); int numberOfPrivileges = cashierRole.GetPrivilegeCount(); Assert.IsTrue(numberOfPrivileges > 0); }
public void FailIfPasswordIsLessThan8CharactersLong() { Role cashierRole = CashierRole.GetInstance(); string userEmail = "*****@*****.**"; string userName = "******"; string password = "******"; User newUser = new User(userName, userEmail, password, cashierRole); }
public void KnowIfItHasACertainPrivilege() { CashierRole cashierRole = CashierRole.GetInstance(); Privilege onePrivilege = UserManagementPrivilege.GetInstance(); Assert.IsFalse(cashierRole.HasPrivilege(onePrivilege)); }
public void BeAbleToTellItHasASalt() { Role cashierRole = CashierRole.GetInstance(); string userEmail = "*****@*****.**"; string userName = "******"; string password = "******"; User newUser = new User(userName, userEmail, password, cashierRole); Assert.IsTrue(newUser.HasSalt()); }
public void HaveAPasswordWithAtLeastOneUppercaseLetterAndOneNumber() { Role cashierRole = CashierRole.GetInstance(); string userEmail = "*****@*****.**"; string userName = "******"; string password = "******"; User newUser = new User(userName, userEmail, password, cashierRole); Assert.IsTrue(Hashing.VerifyHash(password, newUser.Salt, newUser.Password)); }
public void NotRemoveLastRemainingRole() { Role cashierRole = CashierRole.GetInstance(); string userEmail = "*****@*****.**"; string userName = "******"; string password = "******"; User newUser = new User(userName, userEmail, password, cashierRole); newUser.RemoveRole(cashierRole); }
public void BeAbleToPostNewUserIntoRepository() { User newUser = new User("Gonzalo", "*****@*****.**", "OtraPass123!", CashierRole.GetInstance()); IHttpActionResult actionResult = CONTROLLER.PostUser(newUser); CreatedAtRouteNegotiatedContentResult <User> contentResult = (CreatedAtRouteNegotiatedContentResult <User>)actionResult; Assert.AreEqual(contentResult.Content, newUser); CONTROLLER.DeleteUser(newUser.ID); }
public void KnowIfHeDoesntHaveAGivenRole() { Role cashierRole = CashierRole.GetInstance(); Role adminRole = AdminRole.GetInstance(); string userEmail = "*****@*****.**"; string userName = "******"; string password = "******"; User newUser = new User(userName, userEmail, password, cashierRole); Assert.IsFalse(newUser.HasThisRole(adminRole)); }
public void BeAbleToClearItsPassword() { Role cashierRole = CashierRole.GetInstance(); string userEmail = "*****@*****.**"; string userName = "******"; string password = "******"; User newUser = new User(userName, userEmail, password, cashierRole); newUser.ClearPassword(); Assert.IsNull(newUser.Password); }
public void BeAbleToAddRoles() { Role cashierRole = CashierRole.GetInstance(); Role adminRole = AdminRole.GetInstance(); string userEmail = "*****@*****.**"; string userName = "******"; string password = "******"; User newUser = new User(userName, userEmail, password, cashierRole); newUser.AddRole(adminRole); Assert.IsTrue(newUser.HasThisRole(adminRole) && newUser.HasThisRole(cashierRole)); }
public void BeAbleToCloneItselfAndReturnTheCloneWithoutPassowordOrSalt() { Role cashierRole = CashierRole.GetInstance(); string userEmail = "*****@*****.**"; string userName = "******"; string password = "******"; User newUser = new User(userName, userEmail, password, cashierRole); User clonedUser = newUser.CloneAndReturnNewUserWithoutPasswordAndSalt(); Assert.IsNull(clonedUser.Password); Assert.IsNull(clonedUser.Salt); Assert.AreEqual(newUser, clonedUser); }
public void BeAbleToRemoveRoles() { Role cashierRole = CashierRole.GetInstance(); Role adminRole = AdminRole.GetInstance(); string userEmail = "*****@*****.**"; string userName = "******"; string password = "******"; User newUser = new User(userName, userEmail, password, cashierRole); newUser.AddRole(adminRole); newUser.RemoveRole(cashierRole); Assert.IsFalse(newUser.HasThisRole(cashierRole)); }
public void NotAddDuplicateRoles() { Role firstCashierRole = CashierRole.GetInstance(); Role secondCashierRole = CashierRole.GetInstance(); string userEmail = "*****@*****.**"; string userName = "******"; string password = "******"; User newUser = new User(userName, userEmail, password, firstCashierRole); int roleAmountBeforeAddition = newUser.GetRoleCount(); newUser.AddRole(secondCashierRole); Assert.AreEqual(roleAmountBeforeAddition, newUser.GetRoleCount()); }
public void BeAbleToReturnAllOfItRolesInAStringEnumerable() { Role cashierRole = CashierRole.GetInstance(); string userEmail = "*****@*****.**"; string userName = "******"; string password = "******"; User newUser = new User(userName, userEmail, password, cashierRole); IEnumerable <string> expectedRoles = new List <string> { CashierRole.GetInstance().Name }; IEnumerable <string> resultingRoles = newUser.GetRoles(); CollectionAssert.AreEqual((ICollection)expectedRoles, (ICollection)resultingRoles); }
public void BeAbleToReturnAllUsersInRepository() { List <User> allUsers = new List <User> { new User("Gabriel", "*****@*****.**", "Wololo1234!", CashierRole.GetInstance()), new User("Ignacio", "*****@*****.**", "#designPatternsLover123", AdminRole.GetInstance()) }; var mockUserService = new Mock <IUserService>(); mockUserService.Setup(x => x.GetAllUsers(It.IsAny <string>())).Returns(allUsers); UsersController controller = new UsersController(mockUserService.Object); IHttpActionResult actionResult = controller.GetUsers(); OkNegotiatedContentResult <IEnumerable <User> > contentResult = (OkNegotiatedContentResult <IEnumerable <User> >)actionResult; Assert.IsTrue(contentResult.Content.All(x => allUsers.Contains(x)) && allUsers.All(x => contentResult.Content.Contains(x))); }
public void InsertTestsUserInfoForTest() { CONTROLLER = new UsersController(ADMIN_USER_USEREMAIL); TESTS_USERS = new[] { new User("Gabriel", "*****@*****.**", "Wololo1234!", CashierRole.GetInstance()), new User("Ignacio", "*****@*****.**", "#designPatternsLover123", AdminRole.GetInstance()) }; foreach (User aTestUser in TESTS_USERS) { CONTROLLER.PostUser(aTestUser); } ICollection <User> reservedUsers = new[] { ADMIN_USER }; ALL_USERS_IN_REPOSITORY = reservedUsers.Concat(TESTS_USERS).ToList(); }
private List <User> GetAllUsersWithoutPasswordsAndSalts() { User firstUser = new User("Gabriel", "*****@*****.**", "Wololo1234!", CashierRole.GetInstance()); User secondUser = new User("Ignacio", "*****@*****.**", "#designPatternsLover123", AdminRole.GetInstance()); firstUser.ClearPassword(); firstUser.ClearSalt(); secondUser.ClearPassword(); secondUser.ClearSalt(); return(new List <User> { firstUser, secondUser }); }
public void BeEqualToAnotherUserIfEmailsAreEqual() { string equalUserEmail = "*****@*****.**"; string firstUserName = "******"; string firstpassword = "******"; string secondUserName = "******"; string secondPassword = "******"; User firstUser = new User(firstUserName, equalUserEmail, firstpassword, CashierRole.GetInstance()); User secondUser = new User(secondUserName, equalUserEmail, secondPassword, AdminRole.GetInstance()); Assert.AreEqual(firstUser, secondUser); }
public void BeEqualToAnotherUserIfIDsAreEqual() { string firstUserName = "******"; string firstEmail = "*****@*****.**"; string firstpassword = "******"; string secondUserName = "******"; string secondEmail = "*****@*****.**"; string secondPassword = "******"; User firstUser = new User(firstUserName, firstEmail, firstpassword, CashierRole.GetInstance()); User secondUser = new User(secondUserName, secondEmail, secondPassword, AdminRole.GetInstance()); int sameId = 1; firstUser.ID = sameId; secondUser.ID = sameId; Assert.AreEqual(firstUser, secondUser); }
public void BeAbleToTellItDoesNotHaveANullPrivilege() { CashierRole adminRole = CashierRole.GetInstance(); Assert.IsFalse(adminRole.HasPrivilege(null)); }
public void FailIfPasswordIsIncorrect() { var mockUnitOfWork = new Mock <IUnitOfWork>(); LoginFacade facade = new LoginFacade(mockUnitOfWork.Object); string email = "*****@*****.**"; string password = "******"; User cashierUser = new User("Cajero", "*****@*****.**", "Hola1234!", CashierRole.GetInstance()); IEnumerable <User> allUsers = new List <User> { cashierUser }; mockUnitOfWork.Setup(u => u.UserRepository.Get(It.IsAny <Expression <Func <User, bool> > >(), null, "")).Returns(new List <User>()); facade.AdminLogin(email, password); }
public void BeAbleToDeleteAnUser() { User singleUser = new User("Gabriel", "*****@*****.**", "Wololo1234!", CashierRole.GetInstance()); var mockUserService = new Mock <IUserService>(); mockUserService.Setup(x => x.DeleteUser(singleUser.ID, It.IsAny <string>())).Returns(true); UsersController controller = new UsersController(mockUserService.Object); IHttpActionResult actionResult = controller.DeleteUser(singleUser.ID); StatusCodeResult contentResult = (StatusCodeResult)actionResult; Assert.AreEqual(contentResult.StatusCode, HttpStatusCode.NoContent); }
public void FailWithNotFoundIfToBeDeletedUserDoesntExistInRepository() { User singleUser = new User("Gabriel", "*****@*****.**", "Wololo1234!", CashierRole.GetInstance()); var mockUserService = new Mock <IUserService>(); mockUserService.Setup(x => x.DeleteUser(singleUser.ID, It.IsAny <string>())).Returns(false); UsersController controller = new UsersController(mockUserService.Object); IHttpActionResult actionResult = controller.DeleteUser(singleUser.ID); Assert.IsInstanceOfType(actionResult, typeof(NotFoundResult)); }
public void FailWithBadRequestIfPostedNewUserIsAlreadyInRepository() { User singleUser = new User("Gabriel", "*****@*****.**", "Wololo1234!", CashierRole.GetInstance()); var mockUserService = new Mock <IUserService>(); mockUserService.Setup(x => x.CreateUser(singleUser, It.IsAny <string>())).Throws(new InvalidOperationException()); UsersController controller = new UsersController(mockUserService.Object); IHttpActionResult actionResult = controller.PostUser(singleUser); Assert.IsInstanceOfType(actionResult, typeof(BadRequestErrorMessageResult)); }
public void FailWithBadRequestIfUpdatedUserIdAndSuppliedIdAreDifferent() { User singleUser = new User("Gabriel", "*****@*****.**", "Wololo1234!", CashierRole.GetInstance()); var mockUserService = new Mock <IUserService>(); mockUserService.Setup(x => x.UpdateUser(singleUser.ID + 1, singleUser, It.IsAny <string>())).Returns(false); UsersController controller = new UsersController(mockUserService.Object); IHttpActionResult actionResult = controller.PutUser(singleUser.ID + 1, singleUser); Assert.IsInstanceOfType(actionResult, typeof(BadRequestErrorMessageResult)); }