public void ResetPasswordAsync_UserPasswordResetDtoNull_ThrowsArgumentNullException() { var mockDal = Substitute.For <IUserDal>(); var mockLogger = Substitute.For <ILogger <UserAdministrationService> >(); var mockCryptoSvc = Substitute.For <ICryptographyService>(); var adminSvc = new UserAdministrationService(mockLogger, mockDal, mockCryptoSvc); var e = Assert.Throws <ArgumentNullException>(() => adminSvc.ResetPasswordAsync(null).GetAwaiter().GetResult()); Assert.That(e.Message, Does.Contain("userPasswordReset")); }
public void ResetPasswordAsync_UserNotFound_ReturnsServiceResultStatusCodeNotFound() { var mockDal = Substitute.For <IUserDal>(); var mockLogger = Substitute.For <ILogger <UserAdministrationService> >(); var mockCryptoSvc = Substitute.For <ICryptographyService>(); mockDal.GetEntityAsync(1).Returns((User)null); var adminSvc = new UserAdministrationService(mockLogger, mockDal, mockCryptoSvc); var passwordRequest = new UserPasswordResetDto() { Id = 1 }; var result = adminSvc.ResetPasswordAsync(passwordRequest).GetAwaiter().GetResult(); Assert.That(result, Is.EqualTo(ServiceResultStatusCode.NotFound)); }
public void ResetPasswordAsync_PasswordUpdateSuccess_ReturnsServiceResultStatusCodeSuccess() { var mockDal = Substitute.For <IUserDal>(); var mockLogger = Substitute.For <ILogger <UserAdministrationService> >(); var mockCryptoSvc = Substitute.For <ICryptographyService>(); var mockJobDescription = new JobDescription() { Description = "Head Honcho", Role = UserRole.MedicalPractitioner }; var mockEmployeeDetails = new Employee() { Firstname = "Aoife", Lastname = "McGonagle", Title = Title.Miss, }; var mockUser = new User() { EmployeeDetails = mockEmployeeDetails, Username = "******", JobDescription = mockJobDescription, State = AccountState.Active }; mockDal.GetEntityAsync(1).Returns(mockUser); mockDal.UpdateAsync(Arg.Any <User>()).Returns(mockUser); var adminSvc = new UserAdministrationService(mockLogger, mockDal, mockCryptoSvc); var passwordRequest = new UserPasswordResetDto() { Id = 1 }; var result = adminSvc.ResetPasswordAsync(passwordRequest).GetAwaiter().GetResult(); Assert.That(result, Is.EqualTo(ServiceResultStatusCode.Success)); }