public void request_password_reset_test() { // Arrange const string email = "*****@*****.**"; const string token = "test"; const long userId = 1; var userRepository = new Mock<IRepository<User>>(); userRepository.Setup(x => x.FindOne(It.IsAny<Expression<Func<User, bool>>>())) .Returns(new User { Email = email, PasswordResetToken = token, PasswordResetRequestedAt = null, UpdatedAt = DateTime.Now, UpdatedBy = userId }); // Act var userService = new UserService(userRepository.Object); var user = userService.RequestPasswordReset(email); // Assert Assert.NotNull(user); userRepository.Verify(x => x.Update(It.IsAny<User>()), Times.Once); userRepository.Verify(x => x.SaveChanges(), Times.AtLeastOnce); }