Ejemplo n.º 1
0
 public function testResolveHints()
 {
     $query = $this->getQuery();
     $query->setHint(Query::HINT_CUSTOM_TREE_WALKERS, ['another_walker_class']);
     $query->setHint('test_output', true);
     $this->queryHintResolver->addOutputWalker('test_output', 'Test\\OutputWalker', null, 'HINT_1');
     $walkerHintProvider = $this->getMock('Oro\\Component\\DoctrineUtils\\ORM\\QueryWalkerHintProviderInterface');
     $this->queryHintResolver->addTreeWalker('test_tree', 'Test\\TreeWalker', $walkerHintProvider, 'HINT_2');
     $walkerHintProvider->expects($this->once())->method('getHints')->with('hint_2_param')->willReturn(['test.tree_walker.hint' => 'val1']);
     $this->queryHintResolver->resolveHints($query, [['name' => 'HINT_2', 'value' => 'hint_2_param'], 'HINT_REFRESH', ['name' => Query::HINT_CUSTOM_TREE_WALKERS, 'value' => 'walker_class']]);
     $this->assertEquals(['test_output' => true, 'test_tree' => 'hint_2_param', Query::HINT_CUSTOM_TREE_WALKERS => ['another_walker_class', 'walker_class', 'Test\\TreeWalker'], Query::HINT_REFRESH => true, Query::HINT_CUSTOM_OUTPUT_WALKER => 'Test\\OutputWalker', 'test.tree_walker.hint' => 'val1'], $query->getHints());
 }