Пример #1
0
        public void ResetPasswordShouldReturnBadRequestIfPasswordCouldNotBeChanged()
        {
            //Arrange
            var model = new ResetPasswordModelBuilder().Build();

            var existingUser = new User();

            _userManagerMock.Setup(manager => manager.FindByIdAsync(It.IsAny <string>())).ReturnsAsync(existingUser);

            var errorCode      = Guid.NewGuid().ToString();
            var identityResult = IdentityResult.Failed(new IdentityError
            {
                Code        = errorCode,
                Description = Guid.NewGuid().ToString()
            });

            _userManagerMock
            .Setup(mangager =>
                   mangager.ResetPasswordAsync(It.IsAny <User>(), It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(identityResult);

            //Act
            var result = _controller.ResetPassword(model).Result as BadRequestObjectResult;

            //Assert
            Assert.That(result, Is.Not.Null);
            var serializableError = result.Value as SerializableError;

            Assert.That(serializableError, Is.Not.Null);
            Assert.That(serializableError.Keys, Has.One.EqualTo(errorCode));

            _userManagerMock.Verify(manager => manager.FindByIdAsync(model.UserId), Times.Once);
            _userManagerMock.Verify(manager => manager.ResetPasswordAsync(existingUser, model.Token, model.Password), Times.Once);
        }
Пример #2
0
        public void ResetPasswordShouldReturnOkIfUserCouldNotBeFound()
        {
            //Arrange
            var model = new ResetPasswordModelBuilder().Build();

            _userManagerMock.Setup(manager => manager.FindByIdAsync(It.IsAny <string>())).ReturnsAsync(() => null);

            //Act
            var result = _controller.ResetPassword(model).Result as OkResult;

            //Assert
            Assert.That(result, Is.Not.Null);
            _userManagerMock.Verify(manager => manager.FindByIdAsync(model.UserId), Times.Once);
            _userManagerMock.Verify(manager => manager.ResetPasswordAsync(It.IsAny <User>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never);
        }
Пример #3
0
        public void ResetPasswordShouldReturnBadRequestIfModelIsInvalid()
        {
            //Arrange
            var model = new ResetPasswordModelBuilder().Build();

            var errorKey = "someValidationError";

            _controller.ModelState.AddModelError(errorKey, Guid.NewGuid().ToString());

            //Act
            var result = _controller.ResetPassword(model).Result as BadRequestObjectResult;

            //Assert
            Assert.That(result, Is.Not.Null);
            var serializableError = result.Value as SerializableError;

            Assert.That(serializableError, Is.Not.Null);
            Assert.That(serializableError.Keys, Has.One.EqualTo(errorKey));
            _userManagerMock.Verify(manager => manager.ResetPasswordAsync(It.IsAny <User>(), It.IsAny <string>(), It.IsAny <string>()), Times.Never);
        }
Пример #4
0
        public void ResetPasswordShouldReturnOkIfPasswordCouldBeChanged()
        {
            //Arrange
            var model = new ResetPasswordModelBuilder().Build();

            var existingUser = new User();

            _userManagerMock.Setup(manager => manager.FindByIdAsync(It.IsAny <string>())).ReturnsAsync(existingUser);

            _userManagerMock
            .Setup(mangager =>
                   mangager.ResetPasswordAsync(It.IsAny <User>(), It.IsAny <string>(), It.IsAny <string>()))
            .ReturnsAsync(IdentityResult.Success);

            //Act
            var result = _controller.ResetPassword(model).Result as OkResult;

            //Assert
            Assert.That(result, Is.Not.Null);
            _userManagerMock.Verify(manager => manager.FindByIdAsync(model.UserId), Times.Once);
            _userManagerMock.Verify(manager => manager.ResetPasswordAsync(existingUser, model.Token, model.Password), Times.Once);
        }