/** * 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; } }
/** * @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()); }