/** * @param UnitOfWorkListenerCollection $listeners * @param StagingEventContainerFactory $stagingEventContainerFactory * @param AggregateContainerFactory $aggregateContainerFactory * @param UnitOfWorkEventRegistrationCallbackFactory $unitOfWorkEventRegistrationCallbackFactory * @param TransactionManager $transactionManager */ public function __construct(UnitOfWorkListenerCollection $listeners, StagingEventContainerFactory $stagingEventContainerFactory, AggregateContainerFactory $aggregateContainerFactory, UnitOfWorkEventRegistrationCallbackFactory $unitOfWorkEventRegistrationCallbackFactory, TransactionManager $transactionManager = null) { $this->listeners = $listeners; $this->stagingEvents = $stagingEventContainerFactory->create(); $this->registeredAggregates = $aggregateContainerFactory->create($this, $unitOfWorkEventRegistrationCallbackFactory); $this->transactionManager = $transactionManager; }
public function let(UnitOfWorkListenerCollection $listeners, StagingEventContainerFactory $stagingEventContainerFactory, AggregateContainerFactory $aggregateContainerFactory, UnitOfWorkEventRegistrationCallbackFactory $eventRegistrationCallbackFactory, TransactionManager $transactionManager, StagingEventContainer $stagingEventContainer, AggregateContainer $aggregateContainer) { $stagingEventContainerFactory->create()->willReturn($stagingEventContainer); $aggregateContainerFactory->create(Argument::any(), $eventRegistrationCallbackFactory)->willReturn($aggregateContainer); $this->beConstructedWith($listeners, $stagingEventContainerFactory, $aggregateContainerFactory, $eventRegistrationCallbackFactory, $transactionManager); }