[ true ], 'hide menu' => [ false ], ]; } /** * @dataProvider IsAllowedProvider * test used to make sure backward compatibility is ensured */ public function testIsAllowed($bExpectedIsAllowed=true){ \MetaModel::GetConfig()->Set('navigation_menu.show_organization_filter', $bExpectedIsAllowed); $oNavigationMenu = new NavigationMenu( $this->createMock(ApplicationContext::class), $this->createMock(PopoverMenu::class)); $isAllowed = $this->InvokeNonPublicMethod(NavigationMenu::class, "IsOrgMenuFilterAllowed", $oNavigationMenu, []); $this->assertEquals($bExpectedIsAllowed, $isAllowed); } public function testIsAllowedWithNoConfVariable(){ \MetaModel::GetConfig()->Set('navigation_menu.show_organization_filter', false); $sTmpFilePath = tempnam(sys_get_temp_dir(), 'test_'); $oInitConfig = \MetaModel::GetConfig(); $oInitConfig->WriteToFile($sTmpFilePath); //remove variable for the test $aLines = file($sTmpFilePath); $aRows = array(); foreach ($aLines as $key => $sLine) { if (!preg_match('/navigation_menu.show_organization_filter/', $sLine)) { $aRows[] = $sLine; } } file_put_contents($sTmpFilePath, implode("\n", $aRows)); $oTempConfig = new \Config($sTmpFilePath); $oReflexionClass = new \ReflectionClass(\MetaModel::class); $oReflexionClass->setStaticPropertyValue('m_oConfig', $oTempConfig); $oNavigationMenu = new NavigationMenu( $this->createMock(ApplicationContext::class), $this->createMock(PopoverMenu::class) ); $isAllowed = $this->InvokeNonPublicMethod(NavigationMenu::class, "IsOrgMenuFilterAllowed", $oNavigationMenu, []); $oReflexionClass->setStaticPropertyValue('m_oConfig', $oInitConfig); $this->assertEquals(true, $isAllowed); } }