public WhenTransferringMoney()
        {
            _bankAccountStoreMock     = new Mock <IBankAccountStore>();
            _accountAuthorisationMock = new Mock <IAccountAuthorisation>();
            _useCase = new TransferUseCase(_bankAccountStoreMock.Object, _accountAuthorisationMock.Object);

            GivenAuthorisationRequesSucceeds();
        }
예제 #2
0
        public async Task Transfer_ChangesBalance_WhenAccountExists(
            decimal amount,
            decimal expectedOriginBalance)
        {
            var presenter = new TransferPresenter();
            var sut       = new TransferUseCase(this._fixture.AccountService,
                                                presenter, this._fixture.AccountRepository, this._fixture.UnitOfWork);

            await sut.Execute(
                new TransferInput(this._fixture.Context.DefaultAccountId, this._fixture.Context.SecondAccountId,
                                  new PositiveMoney(amount)));

            var actual = presenter.Transfers.Last();

            Assert.Equal(expectedOriginBalance, actual.UpdatedBalance.ToDecimal());
        }
예제 #3
0
 public TransferCommand(TransferUseCase useCase)
 {
     _useCase = useCase;
 }