/**
  * {@inheritDoc}
  */
 public function getConfiguration($gridName)
 {
     if (!isset($this->rawConfiguration[$gridName])) {
         throw new RuntimeException(sprintf('A configuration for "%s" datagrid was not found.', $gridName));
     }
     if (!isset($this->processedConfiguration[$gridName])) {
         $config = $this->resolver->resolve($gridName, $this->rawConfiguration[$gridName]);
         $this->processedConfiguration[$gridName] = $config;
     }
     return DatagridConfiguration::createNamed($gridName, $this->processedConfiguration[$gridName]);
 }
 public function testBuildAfter()
 {
     $config = DatagridConfiguration::createNamed(self::TEST_GRID_NAME, []);
     $acceptor = new Acceptor();
     $acceptor->setConfig($config);
     $parameters = $this->getMock('Oro\\Bundle\\DataGridBundle\\Datagrid\\ParameterBag');
     $grid = new Datagrid(self::TEST_GRID_NAME, $config, $parameters);
     $grid->setAcceptor($acceptor);
     $qb = $this->getMockBuilder('Doctrine\\ORM\\QueryBuilder')->disableOriginalConstructor()->getMock();
     $qb->expects($this->once())->method('getDQLPart')->with($this->equalTo('from'))->will($this->returnValue([new From(self::TEST_ENTITY_NAME, 'alias')]));
     $datasourceMock = $this->getMockBuilder('Oro\\Bundle\\DataGridBundle\\Datasource\\Orm\\OrmDatasource')->disableOriginalConstructor()->getMock();
     $datasourceMock->expects($this->any())->method('getQueryBuilder')->will($this->returnValue($qb));
     $this->generator->expects($this->once())->method('generate')->with(self::TEST_ENTITY_NAME)->will($this->returnValue([]));
     $grid->setDatasource($datasourceMock);
     $event = new BuildAfter($grid);
     $this->listener->buildAfter($event);
     $this->assertContains('oronavigation/js/content/grid-builder', $config->offsetGetByPath(sprintf('%s[%s]', ToolbarExtension::OPTIONS_PATH, MetadataObject::REQUIRED_MODULES_KEY)), 'Should add require js module');
 }
 /**
  * Converts a query specified in $source parameter to a datagrid configuration
  *
  * @param string                $gridName
  * @param AbstractQueryDesigner $source
  * @return DatagridConfiguration
  */
 public function convert($gridName, AbstractQueryDesigner $source)
 {
     $this->config = DatagridConfiguration::createNamed($gridName, []);
     $this->doConvert($source);
     return $this->config;
 }
Example #4
0
 /**
  * @return array
  */
 public function buildProvider()
 {
     $stubDatagridClass = 'Oro\\Bundle\\DataGridBundle\\Datagrid\\Datagrid';
     $baseEventList = [['oro_datagrid.datagrid.build.pre', 'Oro\\Bundle\\DataGridBundle\\Event\\PreBuild'], ['oro_datagrid.datagrid.build.before', 'Oro\\Bundle\\DataGridBundle\\Event\\BuildBefore'], ['oro_datagrid.datagrid.build.after', 'Oro\\Bundle\\DataGridBundle\\Event\\BuildAfter']];
     $extToAdd = $this->getMockForAbstractClass('Oro\\Bundle\\DataGridBundle\\Extension\\ExtensionVisitorInterface');
     $extToAdd2 = $this->getMockForAbstractClass('Oro\\Bundle\\DataGridBundle\\Extension\\ExtensionVisitorInterface');
     $extNotToAdd = $this->getMockForAbstractClass('Oro\\Bundle\\DataGridBundle\\Extension\\ExtensionVisitorInterface');
     $extToAdd->expects($this->any())->method('isApplicable')->will($this->returnValue(true));
     $extToAdd2->expects($this->any())->method('isApplicable')->will($this->returnValue(true));
     $extNotToAdd->expects($this->any())->method('isApplicable')->will($this->returnValue(false));
     return ['Base datagrid should be created without extensions' => [DatagridConfiguration::createNamed(self::TEST_DATAGRID_NAME, []), self::DEFAULT_DATAGRID_CLASS, $baseEventList, 0], 'Datagrid should be created as object type passed in config' => [DatagridConfiguration::createNamed(self::TEST_DATAGRID_NAME, ['options' => ['base_datagrid_class' => $stubDatagridClass]]), $stubDatagridClass, $baseEventList, 0], 'Extension passed check' => [DatagridConfiguration::createNamed(self::TEST_DATAGRID_NAME, []), self::DEFAULT_DATAGRID_CLASS, $baseEventList, 1, [$extToAdd, $extNotToAdd]], 'Both extensions passed check' => [DatagridConfiguration::createNamed(self::TEST_DATAGRID_NAME, []), self::DEFAULT_DATAGRID_CLASS, $baseEventList, 2, [$extToAdd, $extNotToAdd, $extToAdd2]]];
 }
 /**
  * @return \PHPUnit_Framework_MockObject_MockObject|DatagridInterface
  */
 protected function getDataGrid()
 {
     $dataGrid = $this->getMockBuilder('Oro\\Bundle\\DataGridBundle\\Datagrid\\DatagridInterface')->getMockForAbstractClass();
     $columnAliases = ['testField' => 'c1'];
     $config = DatagridConfiguration::createNamed('test', []);
     $config->offsetSetByPath(MarketingListProvider::DATAGRID_COLUMN_ALIASES_PATH, $columnAliases);
     $dataGrid->expects($this->any())->method('getConfig')->will($this->returnValue($config));
     return $dataGrid;
 }