public async Task Throw_Bad_Request_With_Missing_Account(
                CreateCreditCommand command,
                [Frozen] Mock <IRepository> repo,
                CreateCreditHandler sut)
            {
                repo.Setup(p => p.FindAsync(It.IsAny <IScalar <Account> >())).ReturnsAsync((Account)null);

                await Assert.ThrowsAsync <BadRequestException>(async() => { await sut.Handle(command, new CancellationToken()); });
            }
            public async Task Succeed_With_Valid_Request(
                Account account,
                CreateCreditCommand command,
                [Frozen] Mock <IRepository> repo,
                CreateCreditHandler sut)
            {
                var originalBalance = account.Balance.Amount;

                repo.Setup(p => p.FindAsync(It.IsAny <IScalar <Account> >())).ReturnsAsync(account);

                var result = await sut.Handle(command, new CancellationToken());

                repo.Verify(p => p.FindAsync(It.IsAny <IScalar <Account> >()), Times.Once());
                repo.Verify(p => p.UnitOfWork.CommitAsync(), Times.Once());

                Assert.True(result.Amount == originalBalance + command.Funds.Amount);
            }