public void SetUp() { _mediator = Substitute.For <IMediator>(); _controller = new CreatePasswordController(_mediator); _invitationId = Guid.NewGuid(); _controller.ModelState.AddModelError("", ""); }
public void SetUp() { Mediator = Substitute.For <IMediator>(); ConfigurationService = Substitute.For <IConfigurationService>(); Controller = new CreatePasswordController(Mediator); SystemTime.UtcNow = () => new DateTime(2019, 1, 1, 1, 1, 1); }
public void Then_ViewResult_is_returned() { var mediator = Substitute.For <IMediator>(); mediator.Send(Arg.Any <CreatePasswordRequest>()).Returns(new CreatePasswordResponse() { PasswordValid = false }); mediator.Send(Arg.Any <GetInvitationByIdRequest>()).Returns(new Invitation()); var controller = new CreatePasswordController(mediator); var invitationId = Guid.NewGuid(); var result = controller.Post(new CreatePasswordViewModel() { InvitationId = invitationId, Password = "******", ConfirmPassword = "******" }).Result; result.Should().BeOfType <ViewResult>(); ((ViewResult)result).ViewName.Should().Be("CreatePassword"); ((CreatePasswordViewModel)((ViewResult)result).Model).Password.Should().Be("Pa55word"); ((CreatePasswordViewModel)((ViewResult)result).Model).ConfirmPassword.Should().Be("Pa55word"); controller.ModelState.Count.Should().Be(1); controller.ModelState.ValidationState.Should().Be(ModelValidationState.Invalid); controller.ModelState.First().Key.Should().Be("Password"); controller.ModelState.First().Value.Errors.First().ErrorMessage.Should().Be("Password does not meet minimum complexity requirements"); }
public void Then_BadRequest_Is_Returned() { var mediator = Substitute.For <IMediator>(); mediator.Send(Arg.Any <GetInvitationByIdRequest>()).Returns(default(Invitation)); var controller = new CreatePasswordController(mediator); var result = controller.Post(new CreatePasswordViewModel() { InvitationId = Guid.NewGuid() }).Result; result.Should().BeOfType <BadRequestObjectResult>(); }
public async Task And_unsuccessful_reinvite_Then_RedirectToActionResult() { var mediator = Substitute.For <IMediator>(); mediator.Send(Arg.Any <ReinviteRequest>(), CancellationToken.None).Returns(new CreateInvitationResponse() { Invited = false, Message = "Error message" }); var controller = new CreatePasswordController(mediator); var invitationId = Guid.NewGuid(); var result = await controller.Reinvite(invitationId); result.Should().BeOfType <BadRequestResult>(); }
public async Task Then_reinvite_handler_is_called() { var mediator = Substitute.For <IMediator>(); mediator.Send(Arg.Any <ReinviteRequest>(), CancellationToken.None).Returns(new CreateInvitationResponse() { Invited = true, Message = "" }); var controller = new CreatePasswordController(mediator); var invitationId = Guid.NewGuid(); await controller.Reinvite(invitationId); await mediator.Received().Send(Arg.Is <ReinviteRequest>(r => r.InvitationId == invitationId)); }
public async Task And_successful_reinvite_Then_RedirectToActionResult() { var mediator = Substitute.For <IMediator>(); var newInvitationId = Guid.NewGuid(); mediator.Send(Arg.Any <ReinviteRequest>(), CancellationToken.None).Returns(new CreateInvitationResponse() { Invited = true, Message = "", InvitationId = newInvitationId }); var controller = new CreatePasswordController(mediator); var invitationId = Guid.NewGuid(); var result = await controller.Reinvite(invitationId); result.Should().BeOfType <RedirectToActionResult>(); ((RedirectToActionResult)result).ActionName.Should().Be("Reinvited"); ((RedirectToActionResult)result).RouteValues["invitationId"].Should().Be(newInvitationId); }
public void Then_mediator_is_called_with_correct_request() { var mediator = Substitute.For <IMediator>(); mediator.Send(Arg.Any <CreatePasswordRequest>()).Returns(new CreatePasswordResponse() { PasswordValid = true }); mediator.Send(Arg.Any <GetInvitationByIdRequest>()).Returns(new Invitation()); var controller = new CreatePasswordController(mediator); var invitationId = Guid.NewGuid(); controller.Post(new CreatePasswordViewModel() { InvitationId = invitationId, Password = "******", ConfirmPassword = "******" }).Wait(); mediator.Received().Send(Arg.Is <CreatePasswordRequest>(r => r.InvitationId == invitationId && r.Password == "Pa55word")); }
public void Then_RedirectToActionResult_is_returned() { var mediator = Substitute.For <IMediator>(); mediator.Send(Arg.Any <CreatePasswordRequest>()).Returns(new CreatePasswordResponse() { PasswordValid = true }); mediator.Send(Arg.Any <GetInvitationByIdRequest>()).Returns(new Invitation()); var controller = new CreatePasswordController(mediator); var invitationId = Guid.NewGuid(); var result = controller.Post(new CreatePasswordViewModel() { InvitationId = invitationId, Password = "******", ConfirmPassword = "******" }).Result; result.Should().BeOfType <RedirectToActionResult>(); ((RedirectToActionResult)result).ActionName.Should().Be("Get"); ((RedirectToActionResult)result).ControllerName.Should().Be("SignUpComplete"); ((RedirectToActionResult)result).RouteValues["id"].Should().Be(invitationId); }
public async Task And_unsuccessful_reinvite_with_ExistingUser_Then_ViewResult() { var mediator = Substitute.For <IMediator>(); mediator.Send(Arg.Any <ReinviteRequest>(), CancellationToken.None).Returns(new CreateInvitationResponse() { Invited = false, ExistingUserId = Guid.NewGuid().ToString(), Message = "Error message" }); mediator.Send(Arg.Any <GetInvitationByIdRequest>(), CancellationToken.None).Returns(new Invitation() { ClientId = Guid.NewGuid() }); var controller = new CreatePasswordController(mediator); var invitationId = Guid.NewGuid(); var result = await controller.Reinvite(invitationId); result.Should().BeOfType <ViewResult>(); ((ViewResult)result).ViewName.Should().Be("AccountExists"); }