Esempio n. 1
0
 /**
  * @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);
 }