public function testNotCurrentUnitOfWorkCommitted() { $outerUoW = new DefaultUnitOfWork(); $outerUoW->start(); $other = new DefaultUnitOfWork(); $other->start(); try { $outerUoW->commit(); } catch (\Exception $ex) { $other->rollback(); $this->assertGreaterThanOrEqual(0, strpos($ex->getMessage(), "not the active")); } }
/** * * @param TransactionManagerInterface $transactionManager * @return UnitOfWorkInterface */ public static function startAndGet(TransactionManagerInterface $transactionManager = null) { $uow = new DefaultUnitOfWork($transactionManager); $uow->start(); return $uow; }
public function testSagaEventsDoNotOvertakeRegularEvents() { $this->testSubject->start(); $self = $this; \Phake::when($this->listener1)->handle($this->event1)->thenGetReturnByLambda(function ($event) use($self) { $uow = new DefaultUnitOfWork(); $uow->start(); $uow->registerAggregate($self->mockAggregateRoot, $self->mockEventBus, $self->callback2); $uow->commit(); return null; }); $this->testSubject->registerAggregate($this->mockAggregateRoot, $this->mockEventBus, $this->callback1); $this->testSubject->commit(); \Phake::inOrder(\Phake::verify($this->listener1, \Phake::times(1))->handle($this->event1), \Phake::verify($this->listener2, \Phake::times(1))->handle($this->event1), \Phake::verify($this->listener1, \Phake::times(1))->handle($this->event2), \Phake::verify($this->listener2, \Phake::times(1))->handle($this->event2)); }