Neos\Eel\Tests\Unit\FlowQuery\FlowQueryTest::createFlowQuery PHP Метод

createFlowQuery() защищенный Метод

protected createFlowQuery ( array $elements ) : FlowQuery
$elements array
Результат Neos\Eel\FlowQuery\FlowQuery
    protected function createFlowQuery(array $elements)
    {
        $flowQuery = $this->getAccessibleMock(FlowQuery::class, ['dummy'], [$elements]);
        // Set up mock persistence manager to return dummy object identifiers
        $this->mockPersistenceManager = $this->createMock(PersistenceManagerInterface::class);
        $this->mockPersistenceManager->expects($this->any())->method('getIdentifierByObject')->will($this->returnCallback(function ($object) {
            if (isset($object->__identity)) {
                return $object->__identity;
            }
        }));
        $mockPersistenceManager = $this->mockPersistenceManager;
        $objectManager = $this->createMock(ObjectManagerInterface::class);
        $objectManager->expects($this->any())->method('get')->will($this->returnCallback(function ($className) use($mockPersistenceManager) {
            $instance = new $className();
            // Special case to inject the mock persistence manager into the filter operation
            if ($className === Operations\Object\FilterOperation::class) {
                ObjectAccess::setProperty($instance, 'persistenceManager', $mockPersistenceManager, true);
            }
            return $instance;
        }));
        $operationResolver = $this->getAccessibleMock(OperationResolver::class, ['dummy']);
        $operationResolver->_set('objectManager', $objectManager);
        $operationResolver->_set('finalOperationNames', ['count' => 'count', 'get' => 'get', 'is' => 'is', 'property' => 'property']);
        $operationResolver->_set('operations', ['count' => [300 => Operations\CountOperation::class], 'first' => [300 => Operations\FirstOperation::class], 'last' => [300 => Operations\LastOperation::class], 'slice' => [300 => Operations\SliceOperation::class], 'get' => [300 => Operations\GetOperation::class], 'is' => [300 => Operations\IsOperation::class], 'filter' => [300 => Operations\Object\FilterOperation::class], 'children' => [300 => Operations\Object\ChildrenOperation::class], 'property' => [300 => Operations\Object\PropertyOperation::class]]);
        $flowQuery->_set('operationResolver', $operationResolver);
        return $flowQuery;
    }