public AccountControllerTests() { apiClient = A.Fake<IWeeeClient>(); unauthenticatedUserClient = A.Fake<IUnauthenticatedUser>(); weeeAuthorization = A.Fake<IWeeeAuthorization>(); externalRouteService = A.Fake<IExternalRouteService>(); }
public AccountControllerTests() { apiClient = A.Fake <IWeeeClient>(); oauthClientCredentialClient = A.Fake <IOAuthClientCredentialClient>(); unauthenticatedUserClient = A.Fake <IUnauthenticatedUser>(); weeeAuthorization = A.Fake <IWeeeAuthorization>(); externalRouteService = A.Fake <IExternalRouteService>(); }
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); }
public async void HttpPost_ResetPassword_ModelIsValid_CallsApiToResetPassword() { // Arrange IUnauthenticatedUser unauthenticatedUserClient = A.Fake <IUnauthenticatedUser>(); 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); var passwordResetModel = new ResetPasswordModel(); // Act ActionResult result = await AccountController().ResetPassword(A.Dummy <Guid>(), A.Dummy <string>(), passwordResetModel); // Assert A.CallTo(() => unauthenticatedUserClient.ResetPasswordAsync(A <PasswordResetData> ._, A <string> ._)) .MustHaveHappened(Repeated.Exactly.Once); }
public async void HttpPost_AdminAccountActivationRequired_IfUserResendsActivationEmail_ShouldSendActivationEmail() { // Arrange IUnauthenticatedUser user = A.Fake <IUnauthenticatedUser>(); A.CallTo(() => apiClient.User).Returns(user); ClaimsIdentity identity = new ClaimsIdentity(); identity.AddClaim(new Claim(OidcConstants.TokenTypes.AccessToken, "accessToken")); A.CallTo(() => authenticationManager.User).Returns(new ClaimsPrincipal(identity)); A.CallTo(() => externalRouteService.ActivateInternalUserAccountUrl).Returns("activationBaseUrl"); FormCollection formCollection = new FormCollection(); // Act await AccountController().AdminAccountActivationRequired(formCollection); // Assert A.CallTo(() => user.ResendActivationEmail("accessToken", "activationBaseUrl")) .MustHaveHappened(Repeated.Exactly.Once); }