コード例 #1
0
        public void change_password_test()
        {
            // Arrange
            const string email = "*****@*****.**";
            const string token = "test";
            const string password = "******";

            var userRepository = new Mock<IRepository<User>>();
            userRepository.Setup(x => x.FindOne(It.IsAny<Expression<Func<User, bool>>>())).Returns(new User { Email = email, PasswordResetToken = token, PasswordHash = BCrypt.Net.BCrypt.HashPassword(password), PasswordResetRequestedAt = DateTime.Now });

            // Act
            var userService = new UserService(userRepository.Object);
            var user = userService.ChangePassword(email, token, password);

            // Assert
            Assert.NotNull(user);
            userRepository.Verify(x => x.Update(It.IsAny<User>()), Times.Once);
            userRepository.Verify(x => x.SaveChanges(), Times.AtLeastOnce);
        }