public async Task Authenticate_Should_Return_Failure_Result_When_Credentials_Are_Empity(string phoneNumber, string password) { var userRepositoryMock = new Mock <IUserRepository>(); var adminRepositoryMock = new Mock <IAdminRepository>(); var hashingService = new Mock <IHashingService>(); var authService = new PearUpAuthenticationService(userRepositoryMock.Object, hashingService.Object, adminRepositoryMock.Object); var actualResult = await authService.Authenticate(phoneNumber, password); Assert.IsFalse(actualResult.IsSuccessed); Assert.AreEqual(actualResult.GetErrorString(), UserErrorMessages.Phone_Number_And_Password_Are_Required); }
public async Task AuthenticateAdmin_Should_Return_Failure_Result_When_Email_Exist_And_Password_Is_InCorrect(string email, string password) { var userRepositoryMock = new Mock <IUserRepository>(); var adminRepositoryMock = new Mock <IAdminRepository>(); var hashingService = new Mock <IHashingService>(); adminRepositoryMock.Setup(us => us.GetAdminByEmailId(It.IsAny <string>())) .ReturnsAsync(Result.Ok(admin)); hashingService.Setup(hash => hash.SlowEquals(It.IsAny <byte[]>(), It.IsAny <byte[]>())) .Returns(false); var authService = new PearUpAuthenticationService(userRepositoryMock.Object, hashingService.Object, adminRepositoryMock.Object); var actualResult = await authService.AuthenticateAdmin(email, password); Assert.IsFalse(actualResult.IsSuccessed); Assert.AreEqual(actualResult.GetErrorString(), UserErrorMessages.Password_Is_Incorrect); }
public async Task AuthenticateAdmin_Should_Return_SuccessResult_When_Credentials_Are_Valid(string email, string password) { var userRepositoryMock = new Mock <IUserRepository>(); var adminRepositoryMock = new Mock <IAdminRepository>(); var hashingService = new Mock <IHashingService>(); adminRepositoryMock.Setup(us => us.GetAdminByEmailId(It.IsAny <string>())) .ReturnsAsync(Result.Ok(admin)); hashingService.Setup(hash => hash.SlowEquals(It.IsAny <byte[]>(), It.IsAny <byte[]>())) .Returns(true); var authService = new PearUpAuthenticationService(userRepositoryMock.Object, hashingService.Object, adminRepositoryMock.Object); var actualResult = await authService.AuthenticateAdmin(email, password); Assert.IsTrue(actualResult.IsSuccessed); Assert.AreEqual(actualResult.Value, admin); }
public async Task Authenticate_Should_Return_Failure_Result_When_PhoneNumberExist_And_Password_Is_InCorrect(string phoneNumber, string password) { var userRepositoryMock = new Mock <IUserRepository>(); var adminRepositoryMock = new Mock <IAdminRepository>(); var hashingService = new Mock <IHashingService>(); var successResult = Result.Ok <User>(await Builders.UserBuilder.Builder() .WithPhoneNumber("9876543210", "91") .BuildAsync()); userRepositoryMock.Setup(us => us.GetUserByPhoneNumber(It.IsAny <string>())) .ReturnsAsync(successResult); hashingService.Setup(hash => hash.SlowEquals(It.IsAny <byte[]>(), It.IsAny <byte[]>())) .Returns(false); var authService = new PearUpAuthenticationService(userRepositoryMock.Object, hashingService.Object, adminRepositoryMock.Object); var actualResult = await authService.Authenticate(phoneNumber, password); Assert.IsFalse(actualResult.IsSuccessed); Assert.AreEqual(actualResult.GetErrorString(), UserErrorMessages.Password_Is_Incorrect); }
public async Task Authenticate_Should_Return_SuccessResult_When_Credentials_Are_Valid(string PhoneNumber, string Password) { var userRepositoryMock = new Mock <IUserRepository>(); var adminRepositoryMock = new Mock <IAdminRepository>(); var hashingService = new Mock <IHashingService>(); var user = await Builders.UserBuilder.Builder() .WithPhoneNumber("9876543210", "91") .BuildAsync(); var successResult = Result.Ok <User>(user); userRepositoryMock.Setup(us => us.GetUserByPhoneNumber(It.IsAny <string>())) .ReturnsAsync(successResult); hashingService.Setup(hash => hash.SlowEquals(It.IsAny <byte[]>(), It.IsAny <byte[]>())) .Returns(true); var authService = new PearUpAuthenticationService(userRepositoryMock.Object, hashingService.Object, adminRepositoryMock.Object); var actualResult = await authService.Authenticate(PhoneNumber, Password); Assert.IsTrue(actualResult.IsSuccessed); Assert.AreEqual(actualResult.Value, user); }