Пример #1
0
 /**
  * Apply marketing list grid mixin.
  *
  * @param PreBuild $event
  */
 public function onPreBuild(PreBuild $event)
 {
     $config = $event->getConfig();
     $parameters = $event->getParameters();
     $gridName = $config->getName();
     if (!$this->isApplicable($gridName, $parameters)) {
         return;
     }
     $gridMixin = $parameters->get(self::MIXIN);
     if (empty($this->appliedFor[$gridName . $gridMixin])) {
         $this->dataGridConfigurationHelper->extendConfiguration($config, $gridMixin);
         $this->appliedFor[$gridName . $gridMixin] = true;
     }
 }
Пример #2
0
 /**
  * @param string $gridName
  * @param bool   $hasParameter
  * @param bool   $isApplicable
  *
  * @dataProvider preBuildDataProvider
  */
 public function testOnPreBuild($gridName, $hasParameter, $isApplicable)
 {
     $event = $this->getMockBuilder('Oro\\Bundle\\DataGridBundle\\Event\\PreBuild')->disableOriginalConstructor()->getMock();
     $config = $this->getMockBuilder('Oro\\Bundle\\DataGridBundle\\Datagrid\\Common\\DatagridConfiguration')->disableOriginalConstructor()->getMock();
     $event->expects($this->once())->method('getConfig')->will($this->returnValue($config));
     $config->expects($this->once())->method('getName')->will($this->returnValue($gridName));
     $parameters = [];
     if ($hasParameter) {
         $parameters = [MarketingListItemsListener::MIXIN => self::MIXIN_NAME];
     }
     $event->expects($this->once())->method('getParameters')->will($this->returnValue(new ParameterBag($parameters)));
     if ($hasParameter) {
         $this->segmentHelper->expects($this->once())->method('getSegmentIdByGridName')->with($this->equalTo($gridName))->will($this->returnValue((int) $isApplicable));
         $this->segmentHelper->expects($this->any())->method('getMarketingListBySegment')->with($this->equalTo((int) $isApplicable))->will($this->returnValue(new MarketingList()));
     }
     if ($isApplicable && $hasParameter) {
         $this->dataGridHelper->expects($this->once())->method('extendConfiguration')->with($this->equalTo($config), $this->equalTo(self::MIXIN_NAME));
     } else {
         $this->dataGridHelper->expects($this->never())->method('extendConfiguration');
     }
     $this->listener->onPreBuild($event);
 }
 /**
  * @param string $gridName
  * @param array  $existingParameters
  * @param array  $additionalParameters
  * @param array  $expectedParameters
  *
  * @dataProvider extendConfigurationDataProvider
  */
 public function testExtendConfiguration($gridName, array $existingParameters, array $additionalParameters, array $expectedParameters)
 {
     $this->configProvider->expects($this->once())->method('getConfiguration')->will($this->returnValue(DatagridConfiguration::create($additionalParameters)));
     $this->assertEquals(DatagridConfiguration::create($expectedParameters)->toArray(), $this->helper->extendConfiguration(DatagridConfiguration::create($existingParameters), $gridName)->toArray());
 }