/** * @depends testGetAccessibleConfigureMenuByCurrentUser */ public function testGetVisibleAndOrderedTabMenuByCurrentUser() { Yii::app()->user->userModel = User::getByUsername('super'); $menu = MenuUtil::getVisibleAndOrderedTabMenuByCurrentUser(); $this->assertEquals(9, count($menu)); $menu = MenuUtil::getAccessibleModuleTabMenuByUser('AccountsModule', Yii::app()->user->userModel); $this->assertEquals(1, count($menu)); Yii::app()->user->userModel = User::getByUsername('billy'); $this->assertEquals(Right::NONE, Yii::app()->user->userModel->getExplicitActualRight('AccountsModule', AccountsModule::RIGHT_ACCESS_ACCOUNTS)); $menu = MenuUtil::getVisibleAndOrderedTabMenuByCurrentUser(); $this->assertEquals(3, count($menu)); $menu = MenuUtil::getAccessibleModuleTabMenuByUser('AccountsModule', Yii::app()->user->userModel); $this->assertEquals(0, count($menu)); $bill = User::getByUsername('billy'); $bill->setRight('AccountsModule', AccountsModule::RIGHT_ACCESS_ACCOUNTS); $bill->setRight('ContactsModule', ContactsModule::RIGHT_ACCESS_CONTACTS); $saved = $bill->save(); $this->assertTrue($saved); $this->assertEquals(Right::ALLOW, $bill->getExplicitActualRight('AccountsModule', AccountsModule::RIGHT_ACCESS_ACCOUNTS)); $this->assertTrue(RightsUtil::canUserAccessModule('AccountsModule', $bill)); $menu = MenuUtil::getAccessibleModuleTabMenuByUser('AccountsModule', $bill); $this->assertEquals(1, count($menu)); $menu = MenuUtil::getVisibleAndOrderedTabMenuByCurrentUser(); $this->assertEquals(5, count($menu)); }