public void UpdateUserDetailsAsync_UserNotFound_ReturnsNotFound() { var mockDal = Substitute.For <IUserDal>(); var mockLogger = Substitute.For <ILogger <UserAdministrationService> >(); var mockCryptoSvc = Substitute.For <ICryptographyService>(); var adminSvc = new UserAdministrationService(mockLogger, mockDal, mockCryptoSvc); var result = adminSvc.UpdateUserDetailsAsync(new UserFullDetailsDto()).GetAwaiter().GetResult(); Assert.That(result, Is.EqualTo(ServiceResultStatusCode.NotFound)); }
public void UpdateUserDetailsAsync_UserDetailsNull_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.UpdateUserDetailsAsync(null).GetAwaiter().GetResult()); Assert.That(e.Message, Does.Contain("userDetails")); }
public void UpdateUserDetailsAsync_UpdateSuccess_ReturnsServiceResultStatusCodeSuccess() { var mockDal = Substitute.For <IUserDal>(); var mockLogger = Substitute.For <ILogger <UserAdministrationService> >(); var mockCryptoSvc = Substitute.For <ICryptographyService>(); var adminSvc = new UserAdministrationService(mockLogger, mockDal, mockCryptoSvc); 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 result = adminSvc.UpdateUserDetailsAsync(new UserFullDetailsDto() { UserId = 1 }).GetAwaiter().GetResult(); Assert.That(result, Is.EqualTo(ServiceResultStatusCode.Success)); }