/** * @dataProvider navigationConfigureDataProvider * * @param array $settings * @param bool $isEnabled * @param bool $expectedResult */ public function testOnNavigationConfigure($settings, $isEnabled, $expectedResult) { $factory = new MenuFactory(); $this->resolver->expects($this->any())->method('resolve')->will($this->returnArgument(0)); $this->state->expects($this->once())->method('isEntityEnabled')->will($this->returnValue($isEnabled)); $settingsProvider = new SettingsProvider($settings, $this->resolver); $listener = new NavigationListener($settingsProvider, $this->state); $menu = new MenuItem('test_menu', $factory); $salesTab = new MenuItem('sales_tab', $factory); $salesTab->addChild('test_item')->setDisplay(false); $menu->addChild($salesTab); $this->assertFalse($salesTab->getChild('test_item')->isDisplayed()); $eventData = new ConfigureMenuEvent($factory, $menu); $listener->onNavigationConfigure($eventData); $this->assertEquals($expectedResult, $salesTab->getChild('test_item')->isDisplayed()); }
public function testAclConditionArraySuccess() { $items = ['placeholder_item' => ['template' => 'template', 'acl' => ['acl_ancestor1', 'acl_ancestor2']]]; $variables = ['foo' => 'bar']; $provider = $this->createProvider($items); $this->securityFacade->expects($this->at(0))->method('isGranted')->with('acl_ancestor1')->will($this->returnValue(true)); $this->securityFacade->expects($this->at(1))->method('isGranted')->with('acl_ancestor2')->will($this->returnValue(true)); unset($items['placeholder_item']['acl']); $this->resolver->expects($this->at(0))->method('resolve')->with($items['placeholder_item'], $variables)->will($this->returnValue($items['placeholder_item'])); $actual = $provider->getPlaceholderItems(self::TEST_PLACEHOLDER, $variables); unset($items['placeholder_item']['acl']); $this->assertSame([$items['placeholder_item']], $actual); }