public async Task <ActionResult> Outstanding(GetLatestPendingReceivedTransferConnectionInvitationQuery query)
        {
            var response = await _mediator.SendAsync(query);

            return(response.TransferConnectionInvitation == null
                ? RedirectToAction("Index", "Transfers")
                : RedirectToAction("Receive", new { transferConnectionInvitationId = response.TransferConnectionInvitation.Id }));
        }
 public ActionResult Outstanding(GetLatestPendingReceivedTransferConnectionInvitationQuery query)
 {
     return(Redirect(Url.EmployerAccountsAction($"transfers/connections/requests/outstanding")));
 }
        public LatestPendingTransferConnectionInvitationFixture()
        {
            var configurationProvider = new MapperConfiguration(c =>
            {
                c.AddProfile <AccountMappings>();
                c.AddProfile <TransferConnectionInvitationMappings>();
                c.AddProfile <UserMappings>();
            });

            Db = new Mock <EmployerAccountsDbContext>();

            SenderAccount = new Account
            {
                Id   = 1,
                Name = "Sender"
            };

            ReceiverAccount = new Account
            {
                Id   = 2,
                Name = "Receiver"
            };

            PendingReceivedTransferConnectionInvitation1 = new TransferConnectionInvitationBuilder()
                                                           .WithId(1)
                                                           .WithSenderAccount(SenderAccount)
                                                           .WithReceiverAccount(ReceiverAccount)
                                                           .WithStatus(TransferConnectionInvitationStatus.Pending)
                                                           .WithCreatedDate(DateTime.UtcNow.AddDays(-1))
                                                           .Build();

            PendingReceivedTransferConnectionInvitation2 = new TransferConnectionInvitationBuilder()
                                                           .WithId(2)
                                                           .WithSenderAccount(SenderAccount)
                                                           .WithReceiverAccount(ReceiverAccount)
                                                           .WithStatus(TransferConnectionInvitationStatus.Pending)
                                                           .WithCreatedDate(DateTime.UtcNow)
                                                           .Build();

            ApprovedReceivedTransferConnectionInvitation = new TransferConnectionInvitationBuilder()
                                                           .WithSenderAccount(SenderAccount)
                                                           .WithReceiverAccount(ReceiverAccount)
                                                           .WithStatus(TransferConnectionInvitationStatus.Approved)
                                                           .Build();

            TransferConnectionInvitations = new List <TransferConnectionInvitation>
            {
                PendingReceivedTransferConnectionInvitation1,
                ApprovedReceivedTransferConnectionInvitation,
                new TransferConnectionInvitationBuilder()
                .WithSenderAccount(new Account())
                .WithReceiverAccount(new Account())
                .WithStatus(TransferConnectionInvitationStatus.Pending)
                .Build()
            };

            Db.Setup(d => d.TransferConnectionInvitations).Returns(new DbSetStub <TransferConnectionInvitation>(TransferConnectionInvitations));

            Handler = new GetLatestPendingReceivedTransferConnectionInvitationQueryHandler(new Lazy <EmployerAccountsDbContext>(() => Db.Object), configurationProvider);
            Query   = new GetLatestPendingReceivedTransferConnectionInvitationQuery {
                AccountId = ReceiverAccount.Id
            };
        }