Ejemplo n.º 1
0
 /**
  * @depends test_newUser
  */
 public function test_group($User)
 {
     $User->Redis = new \Railpage\NullCacheDriver();
     $this->assertEquals(0, count($User->getGroups()));
     $Group = new Group();
     $Group->name = "Test user group";
     $Group->desc = "A test user group description";
     $Group->type = Group::TYPE_HIDDEN;
     $Group->owner_user_id = $User->id;
     $Group->commit();
     // Nuke our Redis cache
     $mckey = sprintf("railpage:group=%d.user_id=%d", $Group->id, $User->id);
     $Redis = \Railpage\AppCore::GetRedis();
     $Redis->Delete($mckey);
     $this->assertFalse(!filter_var($Group->id, FILTER_VALIDATE_INT));
     $this->assertFalse($Group->userInGroup($User));
     $Group->addMember($User->username, $User->id);
     $Group->approveUser($User);
     $this->assertTrue($Group->userInGroup($User));
     $Group->removeUser($User);
     $this->assertFalse($Group->userInGroup($User));
     $Group->addMember($User->username, $User->id, "Manager", "03 9562 2222", "blah");
     $Group->approveUser($User);
     $this->assertTrue($Group->userInGroup($User));
     $members = $Group->getMembers();
     $this->assertTrue(is_array($members));
     $this->assertTrue(count($members['members']) > 0);
     $this->assertTrue($User->inGroup($Group->id));
     $this->assertTrue(count($User->getGroups()) > 0);
     $NewGroup = new Group($Group->id);
     $this->assertEquals($NewGroup->id, $Group->id);
     $this->assertEquals($NewGroup->name, $Group->name);
     $this->assertEquals($NewGroup->desc, $Group->desc);
     $this->assertEquals($NewGroup->type, $Group->type);
     $Group->type = Group::TYPE_OPEN;
     $Group->commit();
     if (!defined("RP_GROUP_ADMINS")) {
         define("RP_GROUP_ADMINS", "michaelisawesome");
     }
     $this->assertFalse($User->inGroup());
     $this->assertFalse($User->inGroup(RP_GROUP_ADMINS));
     $User->level = 2;
     $this->assertTrue($User->inGroup(RP_GROUP_ADMINS));
     $User->level = 1;
     return $Group;
 }
Ejemplo n.º 2
0
 /**
  * Check for group membership
  * @since   Version 3.0.1
  * @version 3.9.1
  *
  * @param int|bool $groupId
  *
  * @return boolean
  */
 public function inGroup($groupId = false)
 {
     if (!defined("RP_GROUP_ADMINS")) {
         define("RP_GROUP_ADMINS", "michaelisawesome");
     }
     if ($groupId == RP_GROUP_ADMINS && $this->level == 2) {
         return true;
     }
     $Group = new Group($groupId);
     $return = $Group->userInGroup($this);
     return $return;
 }
Ejemplo n.º 3
0
 /**
  * @depends test_newUser
  */
 public function test_newGroupOrg($User)
 {
     $Org = new Organisation();
     $Org->name = "Test org";
     $Org->desc = "User group org";
     $Org->commit();
     $this->assertFalse(!filter_var($Org->id, FILTER_VALIDATE_INT));
     $Group = new Group();
     $Group->name = "Test org group 2";
     $Group->desc = "Description blah";
     $Group->type = Group::TYPE_OPEN;
     $Group->setOwner($User)->setOrganisation($Org);
     $this->assertEquals($Org->id, $Group->organisation_id);
     $Group->commit();
     $NewGroup = new Group($Group->id);
     $this->assertEquals($Org->id, $Group->organisation_id);
 }