/** * @dataProvider marketingListTypeDataProvider * @param string $type */ public function testGetDataGridColumns($type) { /** @var \PHPUnit_Framework_MockObject_MockObject|MarketingList $marketingList */ $marketingList = $this->getMockBuilder('OroCRM\\Bundle\\MarketingListBundle\\Entity\\MarketingList')->disableOriginalConstructor()->getMock(); $marketingList->expects($this->any())->method('getId')->will($this->returnValue(1)); $marketingList->expects($this->any())->method('isManual')->will($this->returnValue($type === MarketingListType::TYPE_MANUAL)); $config = $this->getMockBuilder('Oro\\Bundle\\DataGridBundle\\Datagrid\\Common\\DatagridConfiguration')->disableOriginalConstructor()->getMock(); $dataGrid = $this->getMock('Oro\\Bundle\\DataGridBundle\\Datagrid\\DatagridInterface'); $dataGrid->expects($this->once())->method('getConfig')->will($this->returnValue($config)); $this->dataGridManager->expects($this->atLeastOnce())->method('getDatagrid')->with(ConfigurationProvider::GRID_PREFIX . $marketingList->getId(), $this->logicalAnd($this->arrayHasKey('grid-mixin'), $this->callback(function ($other) use($type) { if ($type === MarketingListType::TYPE_MANUAL) { $mixin = MarketingListProvider::MANUAL_RESULT_ENTITIES_MIXIN; } else { $mixin = MarketingListProvider::RESULT_ENTITIES_MIXIN; } return $other['grid-mixin'] === $mixin; })))->will($this->returnValue($dataGrid)); $dataGridConfiguration = $this->dataGridProvider->getDataGridConfiguration($marketingList); $this->assertEquals($config, $dataGridConfiguration); }
/** * @param MarketingList $marketingList * @param \PHPUnit_Framework_MockObject_MockObject $queryBuilder * @param \PHPUnit_Framework_MockObject_MockObject $dataGrid * @param null|string $mixin */ protected function assertGetQueryBuilder(MarketingList $marketingList, $queryBuilder, $dataGrid, $mixin = null) { $dataSource = $this->getMockBuilder('Oro\\Bundle\\DataGridBundle\\Datasource\\Orm\\OrmDatasource')->disableOriginalConstructor()->getMock(); $dataSource->expects($this->once())->method('getQueryBuilder')->will($this->returnValue($queryBuilder)); $dataGrid->expects($this->once())->method('getAcceptedDatasource')->will($this->returnValue($dataSource)); $parameters = [PagerInterface::PAGER_ROOT_PARAM => [PagerInterface::DISABLED_PARAM => true], TagsExtension::TAGS_ROOT_PARAM => [PagerInterface::DISABLED_PARAM => true]]; if ($mixin) { $parameters['grid-mixin'] = $mixin; } $this->dataGridManager->expects($this->atLeastOnce())->method('getDatagrid')->with(ConfigurationProvider::GRID_PREFIX . $marketingList->getId(), $parameters)->will($this->returnValue($dataGrid)); }