/** * @return \RayRutjes\DomainFoundation\UnitOfWork\SaveAggregateCallback\SaveAggregateCallback */ private function createSaveAggregateCallback() { if (null === $this->saveAggregateCallbackFactory) { throw new \LogicException('No save aggregate callback factory has been set.'); } return $this->saveAggregateCallbackFactory->create(); }
public function let(UnitOfWork $unitOfWork, Contract $aggregateRootType, EventStore $eventStore, EventBus $eventBus, AggregateRootFactory $aggregateRootFactory, SaveAggregateCallbackFactory $saveAggregateCallbackFactory, SaveAggregateCallback $saveAggregateCallback) { $this->beConstructedWith($unitOfWork, $aggregateRootType, $eventStore, $eventBus, $aggregateRootFactory); $aggregateRootType->className()->willReturn('RayRutjes\\DomainFoundation\\Domain\\AggregateRoot\\AggregateRoot'); $saveAggregateCallbackFactory->create()->willReturn($saveAggregateCallback); }