Beispiel #1
0
 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);
 }
Beispiel #5
0
 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());
 }