/** * @param PreBuild $event */ public function onPreBuild(PreBuild $event) { $parameters = $event->getParameters(); $config = $event->getConfig(); if (!$this->isApplicable($config, $parameters)) { return; } $gridName = $config->getName(); $mixins = $this->getMixins($config, $parameters); foreach ($mixins as $mixin) { if (empty($this->appliedFor[$gridName . $mixin])) { $this->mixinConfigurationHelper->extendConfiguration($config, $mixin); $this->appliedFor[$gridName . $mixin] = 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()); }