Beispiel #1
0
        public async void HttpPost_ResetPassword_ModelIsValid_CallsApiToResetPassword()
        {
            var passwordResetModel = new ResetPasswordModel();

            A.CallTo(() => unauthenticatedUserClient.ResetPasswordAsync(A <PasswordResetData> ._, A <string> ._))
            .Returns(true);

            A.CallTo(() => weeeAuthorization.SignIn(A <string> ._, A <string> ._, A <bool> ._))
            .Returns(LoginResult.Success("dshjkal", A.Dummy <ActionResult>()));

            A.CallTo(() => apiClient.User)
            .Returns(unauthenticatedUserClient);

            await AccountController().ResetPassword(A.Dummy <Guid>(), A.Dummy <string>(), passwordResetModel);

            A.CallTo(() => unauthenticatedUserClient.ResetPasswordAsync(A <PasswordResetData> ._, A <string> ._))
            .MustHaveHappened(Repeated.Exactly.Once);
        }
Beispiel #2
0
        public async void HttpPost_ResetPassword_ModelIsValid_AndAuthorizationSuccessful_ReturnsPasswordResetCompleteView()
        {
            // Arrange
            IUnauthenticatedUser unauthenticatedUserClient = A.Fake <IUnauthenticatedUser>();

            A.CallTo(() => unauthenticatedUserClient.ResetPasswordAsync(A <PasswordResetData> ._, A <string> ._))
            .Returns(true);

            A.CallTo(() => apiClient.User)
            .Returns(unauthenticatedUserClient);

            // Act
            ActionResult result = await AccountController().ResetPassword(A.Dummy <Guid>(), A.Dummy <string>(), new ResetPasswordModel());

            // Assert
            ViewResult viewResult = result as ViewResult;

            Assert.NotNull(viewResult);

            Assert.Equal("ResetPasswordComplete", viewResult.ViewName);
        }
Beispiel #3
0
        public async void HttpPost_ResetPassword_ModelIsValid_PasswordResetThrowsApiBadRequestExceptionWithModelErrors_ReturnsViewWithModel_AndErrorAddedToModelState()
        {
            // Arrange
            Dictionary <string, ICollection <string> > modelState = new Dictionary <string, ICollection <string> >
            {
                {
                    "A Key", new List <string>
                    {
                        "Something wen't wrong"
                    }
                }
            };

            ApiBadRequestException badRequestException = new ApiBadRequestException(HttpStatusCode.BadRequest, new ApiBadRequest
            {
                ModelState = modelState
            });

            IUnauthenticatedUser unauthenticatedUserClient = A.Fake <IUnauthenticatedUser>();

            A.CallTo(() => unauthenticatedUserClient.ResetPasswordAsync(A <PasswordResetData> ._, A <string> ._))
            .Throws(badRequestException);

            A.CallTo(() => apiClient.User)
            .Returns(unauthenticatedUserClient);

            AccountController controller = AccountController();

            ResetPasswordModel passwordResetModel = new ResetPasswordModel();

            // Act
            ActionResult result = await controller.ResetPassword(A.Dummy <Guid>(), A.Dummy <string>(), passwordResetModel);

            // Assert
            Assert.IsType <ViewResult>(result);
            Assert.Equal(passwordResetModel, ((ViewResult)result).Model);
            Assert.Single(controller.ModelState.Values);
            Assert.Single(controller.ModelState.Values.Single().Errors);
            Assert.Contains("Something wen't wrong", controller.ModelState.Values.Single().Errors.Single().ErrorMessage);
        }