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); }
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); }
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); }