public DeleteTransferConnectionInvitationTestFixture WithTransferConnection(
            TransferConnectionInvitationStatus status)
        {
            TransferConnectionInvitation = new TransferConnectionInvitationBuilder()
                                           .WithId(111111)
                                           .WithSenderAccount(SenderAccount)
                                           .WithReceiverAccount(ReceiverAccount)
                                           .WithStatus(status)
                                           .Build();

            TransferConnectionInvitationRepositoryMock
            .Setup(r => r.GetTransferConnectionInvitationById(TransferConnectionInvitation.Id))
            .ReturnsAsync(TransferConnectionInvitation);

            return(this);
        }
        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
            };
        }