public function testSwitchRole() { \Bazalt\Site\Option::set(\Bazalt\Auth::SPLIT_ROLES_OPTION, false); // create role $role = Role::create(); $role->title = 'Test1'; $role->save(); $this->models[] = $role; // create role $role2 = Role::create(); $role2->title = 'Test2'; $role2->save(); $this->models[] = $role2; $this->user->Roles->add($role, ['site_id' => $this->site->id]); $this->user->Roles->add($role2, ['site_id' => $this->site->id]); // print_r($this->user->getRoles()); $curRole = \Bazalt\Auth::getCurrentRole(); // print_r($curRole); $this->assertEquals($role->id, $curRole->id); $this->assertTrue(\Bazalt\Auth::setCurrentRole($role->id)); $curRole = \Bazalt\Auth::getCurrentRole(); $this->assertEquals($role->id, $curRole->id); $this->assertTrue(\Bazalt\Auth::setCurrentRole($role2->id)); $curRole = \Bazalt\Auth::getCurrentRole(); $this->assertEquals($role2->id, $curRole->id); $this->assertFalse(\Bazalt\Auth::setCurrentRole(9999)); //try to set non exists role $curRole = \Bazalt\Auth::getCurrentRole(); $this->assertEquals($role2->id, $curRole->id); \Bazalt\Site\Option::set(\Bazalt\Auth::SPLIT_ROLES_OPTION, true); }