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