public function onDepositedOnTarget(MoneyWereDepositedEnvelope $event) { if (!($process = $this->getProcessForTransaction($event->getTransaction()))) { return; } $this->assertFinalized($process); $process->depositedOnTarget(); $process->finalize(); }
function it_emits_money_were_deposited_event(EventDispatcherInterface $dispatcher) { $dispatcher->dispatch(MoneyWereDepositedEnvelope::getEventName(), Argument::type(MoneyWereDepositedEnvelope::class))->shouldBeCalled(); $events = new EventCollection([new MoneyWereDepositedEvent(AccountNumber::fromString('123ABC'), new Deposit(Transaction::fromString('000'), 100))]); $this->beConstructedWith($dispatcher); $this->emit($events); }
function it_appends_deposit_entry_when_money_were_deposited() { $accountNumber = AccountNumber::fromString('123ABC'); $openAccount = new AccountOpenedEvent($accountNumber); $this->onAccountOpened(AccountOpenedEnvelope::wrap($openAccount)); $deposit = new MoneyWereDepositedEvent($accountNumber, new Deposit(Transaction::generate(), 100)); $this->onMoneyWereDeposited(MoneyWereDepositedEnvelope::wrap($deposit)); $this->getAccount('123ABC')->getHistory()[1]->getAmount()->shouldReturn(100); }
function it_increases_balance_when_money_were_deposited() { $accountNumber = AccountNumber::fromString('123ABC'); $openAccount = new AccountOpenedEvent($accountNumber); $event = AccountOpenedEnvelope::wrap($openAccount); $this->onAccountOpened($event); $deposit = new MoneyWereDepositedEvent($accountNumber, new Deposit(Transaction::generate(), 100)); $event = MoneyWereDepositedEnvelope::wrap($deposit); $this->onMoneyWereDeposited($event); $this->getAccount('123ABC')->getBalance()->shouldReturn(100); }
function create_money_transfer_deposit_envelope() { return MoneyWereDepositedEnvelope::wrap(new MoneyWereDepositedEvent(AccountNumber::fromString('123ABC'), new Deposit(Transaction::fromString('000'), 100))); }
public function onMoneyWereDeposited(MoneyWereDepositedEnvelope $event) { $this->accounts[(string) $event->getAccountNumber()]->increaseBy($event->getAmount()); }
public function onMoneyWereDeposited(MoneyWereDepositedEnvelope $event) { $this->accounts[(string) $event->getAccountNumber()]->deposit($event->getTimestamp(), $event->getAmount()); }