コード例 #1
0
        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);
        }