public void ChangePassword() { string password1 = "SOm3Pa$sw0rd"; string password2 = "SOm1P$ssw0rd"; string password3 = "mYPas$0!"; string password4 = "NoSou1>Pas$"; var mockContext = new Mock <IBoardGameDbContext>(); IUserServiceValidation validation = new UserServiceValidation(new UserValidation(), new PasswordValidation(), mockContext.Object); //Act var resultOK1 = validation.ChangePassword(BoardGameDatabase.Operations.HashEncryption.Hash(password1), password1, "superNewPass111!", "superNewPass111!"); var resultOK2 = validation.ChangePassword(BoardGameDatabase.Operations.HashEncryption.Hash(password2), password2, "12New*pas!", "12New*pas!"); var resultBadNewPassword = validation.ChangePassword(BoardGameDatabase.Operations.HashEncryption.Hash(password3), password3, "superbadpassword", "superbadpassword"); var resultBadOldPassword = validation.ChangePassword(BoardGameDatabase.Operations.HashEncryption.Hash(password1), "badPassword!2", "superNewPass22!2", "superNewPass22!2"); var resultThisSame = validation.ChangePassword(BoardGameDatabase.Operations.HashEncryption.Hash(password1), password1, password1, password1); var resultRepeatPasswordWrong = validation.ChangePassword(BoardGameDatabase.Operations.HashEncryption.Hash(password1), password1, password2, password3); //Assert Assert.AreEqual(resultOK1.IsSucces, true); Assert.AreEqual(resultOK1.ErrorList.Count, 0); Assert.AreEqual(resultOK2.IsSucces, true); Assert.AreEqual(resultOK2.ErrorList.Count, 0); Assert.AreEqual(resultBadNewPassword.IsSucces, false); Assert.AreEqual(resultBadNewPassword.ErrorList.Count > 0, true); Assert.AreEqual(resultBadNewPassword.ErrorList.Any(a => a.Key == ValidationKey.PasswordNoUpperSymbol.ToString()), true); Assert.AreEqual(resultBadOldPassword.IsSucces, false); Assert.AreEqual(resultBadOldPassword.ErrorList.Count, 1); Assert.AreEqual(resultBadOldPassword.ErrorList.Any(a => a.Key == ValidationKey.PasswordNotCompare.ToString()), true); Assert.AreEqual(resultThisSame.IsSucces, false); Assert.AreEqual(resultThisSame.ErrorList.Count, 1); Assert.AreEqual(resultThisSame.ErrorList.Any(a => a.Key == ValidationKey.PasswordChangeThisSame.ToString()), true); Assert.AreEqual(resultRepeatPasswordWrong.IsSucces, false); Assert.AreEqual(resultRepeatPasswordWrong.ErrorList.Count, 1); Assert.AreEqual(resultRepeatPasswordWrong.ErrorList.Any(a => a.Key == ValidationKey.PasswordRepeatNotThisSame.ToString()), true); }
public void Login() { //Arrange string email = "*****@*****.**"; string password = "******"; string hashPassword = BoardGameDatabase.Operations.HashEncryption.Hash(password); var user1 = new User { Email = email, Name = "IhaveName", Password = hashPassword, UserId = 1 }; var mockUserSet = new Mock <DbSet <User> >(); var mockContext = new Mock <IBoardGameDbContext>(); mockContext.Setup(m => m.Users).Returns(mockUserSet.Object); IUserServiceValidation validation = new UserServiceValidation(new UserValidation(), new PasswordValidation(), mockContext.Object); //Act var resultOk = validation.Login(user1, password); var resultNoUser = validation.Login(null, password); var resultBadPassword = validation.Login(user1, "pustka"); var resultNoPassword = validation.Login(user1, null); //Assert Assert.AreEqual(resultOk.IsSucces, true); Assert.AreEqual(resultNoUser.IsSucces, false); Assert.AreEqual(resultNoUser.ErrorList.Any(a => a.Key == ValidationKey.CantLogin.ToString()), true); Assert.AreEqual(resultNoUser.ErrorList.Count, 1); Assert.AreEqual(resultBadPassword.IsSucces, false); Assert.AreEqual(resultBadPassword.ErrorList.Any(a => a.Key == ValidationKey.CantLogin.ToString()), true); Assert.AreEqual(resultBadPassword.ErrorList.Count, 1); Assert.AreEqual(resultNoPassword.IsSucces, false); Assert.AreEqual(resultNoPassword.ErrorList.Any(a => a.Key == ValidationKey.CantLogin.ToString()), true); Assert.AreEqual(resultNoPassword.ErrorList.Count, 1); }
public void Registration() { //Arrange var userData = new List <User> { new User { Email = "*****@*****.**", Name = "IhaveName1", Password = "******", UserId = 1 } }.AsQueryable(); var mockUserSet = new Mock <DbSet <User> >(); var mockContext = new Mock <IBoardGameDbContext>(); mockUserSet.SetupData(userData); mockContext.Setup(s => s.Users).Returns(mockUserSet.Object); IUserServiceValidation validation = new UserServiceValidation(new UserValidation(), new PasswordValidation(), mockContext.Object); var user1 = new User { Email = "*****@*****.**", Name = "Name1" }; string password1 = "Has1o729!"; var user2 = new User { Email = "*****@*****.**", Name = "Name2" }; string password2 = "AhLo20&..11"; var user3 = new User { Email = "abcd@", Name = "Name3" }; string password3 = "Has1o729"; var user4 = new User { Email = "*****@*****.**", Name = "Name4" }; string password4 = "badpass"; var user5 = new User { Email = "*****@*****.**", Name = "Name5" }; string password5 = "Dasl1001"; var user6 = new User { Email = "*****@*****.**" }; string password6 = "go0Dpass!"; var user7 = new User { Email = "amck" }; string password7 = "go0Dpass!2"; //Act var resultOk1 = validation.Registration(user1, password1, password1); var resultOk2 = validation.Registration(user2, password2, password2); var resultIncorectEmail = validation.Registration(user3, password3, password3); var resultBadPassword = validation.Registration(user4, password4, password4); var resultNoPassword = validation.Registration(user4, null, null); var resultDuplicateEmail = validation.Registration(user5, password5, password5); var resultNoUser = validation.Registration(null, password5, password5); var resultNullNameDuplicateEmail = validation.Registration(user6, password6, password6); var resultBadUser = validation.Registration(user7, password7, password7); var resultRepeatPasswordWrong = validation.Registration(user1, password1, password2); //Assert Assert.AreEqual(resultOk1.IsSucces, true); Assert.AreEqual(resultOk1.ErrorList.Count, 0); Assert.AreEqual(resultOk2.IsSucces, true); Assert.AreEqual(resultOk2.ErrorList.Count, 0); Assert.AreEqual(resultIncorectEmail.IsSucces, false); Assert.AreEqual(resultIncorectEmail.ErrorList.Count, 1); Assert.AreEqual(resultIncorectEmail.ErrorList.Any(a => a.Key == ValidationKey.EmailIncorrect.ToString()), true); Assert.AreEqual(resultBadPassword.IsSucces, false); Assert.AreEqual(resultBadPassword.ErrorList.Any(a => a.Key == ValidationKey.PasswordTooShort.ToString()), true); Assert.AreEqual(resultBadPassword.ErrorList.Any(a => a.Key == ValidationKey.PasswordNoDigit.ToString()), true); Assert.AreEqual(resultBadPassword.ErrorList.Any(a => a.Key == ValidationKey.PasswordNoUpperSymbol.ToString()), true); Assert.AreEqual(resultNoPassword.IsSucces, false); Assert.AreEqual(resultNoPassword.ErrorList.Count, 1); Assert.AreEqual(resultNoPassword.ErrorList.Any(a => a.Key == ValidationKey.NoPassword.ToString()), true); Assert.AreEqual(resultDuplicateEmail.IsSucces, false); Assert.AreEqual(resultDuplicateEmail.ErrorList.Count, 1); Assert.AreEqual(resultDuplicateEmail.ErrorList.Any(a => a.Key == ValidationKey.EmailDuplicate.ToString()), true); Assert.AreEqual(resultNoUser.IsSucces, false); Assert.AreEqual(resultNoUser.ErrorList.Count, 1); Assert.AreEqual(resultNoUser.ErrorList.Any(a => a.Key == ValidationKey.IsNull.ToString()), true); Assert.AreEqual(resultNullNameDuplicateEmail.IsSucces, false); Assert.AreEqual(resultNullNameDuplicateEmail.ErrorList.Count, 2); Assert.AreEqual(resultNullNameDuplicateEmail.ErrorList.Any(a => a.Key == ValidationKey.UserEmptyName.ToString()), true); Assert.AreEqual(resultNullNameDuplicateEmail.ErrorList.Any(a => a.Key == ValidationKey.EmailDuplicate.ToString()), true); Assert.AreEqual(resultBadUser.IsSucces, false); Assert.AreEqual(resultBadUser.ErrorList.Count, 2); Assert.AreEqual(resultBadUser.ErrorList.Any(a => a.Key == ValidationKey.UserEmptyName.ToString()), true); Assert.AreEqual(resultBadUser.ErrorList.Any(a => a.Key == ValidationKey.EmailIncorrect.ToString()), true); Assert.AreEqual(resultRepeatPasswordWrong.IsSucces, false); Assert.AreEqual(resultRepeatPasswordWrong.ErrorList.Count, 1); Assert.AreEqual(resultRepeatPasswordWrong.ErrorList.Any(a => a.Key == ValidationKey.PasswordRepeatNotThisSame.ToString()), true); }