public void ReturnsRedirect_ToConfirmEmail_WithCommandToken() { var form = new ForgotPasswordForm { EmailAddress = "*****@*****.**", }; var commandHandler = new Mock<IHandleCommands<SendConfirmEmailMessageCommand>> (MockBehavior.Strict); commandHandler.Setup(m => m.Handle(It.Is(SendCommandBasedOn(form)))); var services = new ForgotPasswordServices(commandHandler.Object); var controller = new ForgotPasswordController(services); ReuseMock.TestControllerBuilder(ControllerCustomization.ForUrlHelper) .InitializeController(controller); var result = controller.Post(form); result.ShouldNotBeNull(); result.ShouldBeType<RedirectToRouteResult>(); var routeResult = (RedirectToRouteResult)result; routeResult.Permanent.ShouldBeFalse(); routeResult.RouteValues["area"].ShouldEqual(MVC.Identity.Name); routeResult.RouteValues["controller"].ShouldEqual(MVC.Identity.ConfirmEmail.Name); routeResult.RouteValues["action"].ShouldEqual(MVC.Identity.ConfirmEmail.ActionNames.Get); routeResult.RouteValues["token"].ShouldEqual(Guid.Empty); }
public void ExecutesCommand_WhenAction_IsValid() { var form = new ForgotPasswordForm { EmailAddress = "*****@*****.**", }; var commandHandler = new Mock<IHandleCommands<SendConfirmEmailMessageCommand>> (MockBehavior.Strict); commandHandler.Setup(m => m.Handle(It.Is(SendCommandBasedOn(form)))); var services = new ForgotPasswordServices(commandHandler.Object); var controller = new ForgotPasswordController(services); ReuseMock.TestControllerBuilder(ControllerCustomization.ForUrlHelper) .InitializeController(controller); controller.Post(form); commandHandler.Verify(m => m.Handle(It.Is(SendCommandBasedOn(form))), Times.Once()); }
public void FlashesSuccessMessage_UsingModelProperty_EmailAddress() { var form = new ForgotPasswordForm { EmailAddress = "*****@*****.**", }; var commandHandler = new Mock<IHandleCommands<SendConfirmEmailMessageCommand>> (MockBehavior.Strict); commandHandler.Setup(m => m.Handle(It.Is(SendCommandBasedOn(form)))); var services = new ForgotPasswordServices(commandHandler.Object); var controller = new ForgotPasswordController(services); ReuseMock.TestControllerBuilder(ControllerCustomization.ForUrlHelper) .InitializeController(controller); controller.Post(form); controller.TempData.ShouldNotBeNull(); var message = controller.TempData.FeedbackMessage(); message.ShouldNotBeNull(); message.ShouldEqual(string.Format( ForgotPasswordController.SuccessMessageFormat, form.EmailAddress)); }
public ForgotPasswordController(ForgotPasswordServices services) { _services = services; }