public function testLoad() { $extension = new OroNavigationExtension(); $configs = array(); $container = $this->getMock('Symfony\\Component\\DependencyInjection\\ContainerBuilder'); $container->expects($this->any())->method('getParameter')->with('kernel.bundles')->will($this->returnValue(array('Oro\\Bundle\\NavigationBundle\\OroNavigationBundle'))); $isCalled = false; $container->expects($this->any())->method('setParameter')->will($this->returnCallback(function ($name, $value) use(&$isCalled) { if ($name == 'oro_menu_config' && is_array($value)) { $isCalled = true; } })); $extension->load($configs, $container); $this->assertTrue($isCalled); }
/** * @dataProvider loadConfigurationDataProvider */ public function testLoadConfiguration(array $configs, array $bundles, array $expectedMenu, array $expectedTitles) { CumulativeResourceManager::getInstance()->clear()->setBundles($bundles); $container = new ContainerBuilder(); $this->extension->load($configs, $container); $this->assertTrue($container->hasDefinition('oro_menu.configuration_builder')); $menuBuilder = $container->getDefinition('oro_menu.configuration_builder'); $data = $menuBuilder->getMethodCalls(); $this->assertEquals(array(array('setConfiguration', array($expectedMenu))), $data, 'Unexpected menu for builder'); $this->assertTrue($container->hasDefinition('oro_menu.twig.extension')); $menuBuilder = $container->getDefinition('oro_menu.twig.extension'); $data = $menuBuilder->getMethodCalls(); $this->assertEquals(array(array('setMenuConfiguration', array($expectedMenu))), $data, 'Unexpected menu for twig'); $this->assertTrue($container->hasDefinition('oro_navigation.title_config_reader')); $configReader = $container->getDefinition('oro_navigation.title_config_reader'); $data = $configReader->getMethodCalls(); $this->assertEquals(array(array('setConfigData', array($expectedTitles))), $data); $this->assertTrue($container->hasDefinition('oro_navigation.title_provider')); $titleService = $container->getDefinition('oro_navigation.title_provider'); $data = $titleService->getMethodCalls(); $this->assertEquals(array(array('setTitles', array($expectedTitles))), $data); }