示例#1
0
 public function testGettingUser()
 {
     $this->markTestIncomplete();
     $user1 = new ShortUrl_Model_User();
     $user1->setName('foo')->persist();
     $user2 = new ShortUrl_Model_User();
     $user2->setName('bar')->persist();
     $user3 = new ShortUrl_Model_User();
     $user3->setName('baz')->persist();
     $group1 = new ShortUrl_Model_Group();
     $group1->setName('gFoo')->persist();
     $group2 = new ShortUrl_Model_Group();
     $group2->setName('gBar')->persist();
     $group1->addMember($user1)->addMember($user2);
     $group2->addMember($user2)->addMember($user3);
     $this->_em->flush();
     $users = $this->_em->getRepository('ShortUrl_Model_User')->getUsersForGRoup($group2);
     $this->assertContains($user2, $users);
     $this->assertContains($user3, $users);
     $this->assertNotContains($user1, $users);
 }
示例#2
0
 public function testRemoveAll()
 {
     $user1 = new ShortUrl_Model_User();
     $user2 = new ShortUrl_Model_User();
     $user3 = new ShortUrl_Model_User();
     $group1 = new ShortUrl_Model_Group();
     $group2 = new ShortUrl_Model_Group();
     $group1->addMember($user1);
     $group1->addAdmin($user2);
     $group1->addMember($user3);
     $group2->addAdmin($user2);
     $this->assertTrue($user1->isMemberOf($group1));
     $this->assertFalse($user1->isAdminOf($group1));
     $this->assertFalse($user1->isMemberOf($group2));
     $this->assertFalse($user1->isAdminOf($group2));
     $this->assertTrue($user2->isMemberOf($group1));
     $this->assertTrue($user2->isAdminOf($group1));
     $this->assertTrue($user2->isMemberOf($group2));
     $this->assertTrue($user2->isAdminOf($group2));
     $this->assertTrue($user3->isMemberOf($group1));
     $this->assertFalse($user3->isAdminOf($group1));
     $this->assertFalse($user3->isMemberOf($group2));
     $this->assertFalse($user3->isAdminOf($group2));
     // Everthing Set up properly
     $user1->removeAllAdmin();
     // Should affect nothing!
     $this->assertTrue($user1->isMemberOf($group1));
     $this->assertFalse($user1->isAdminOf($group1));
     $this->assertFalse($user1->isMemberOf($group2));
     $this->assertFalse($user1->isAdminOf($group2));
     $this->assertTrue($user2->isMemberOf($group1));
     $this->assertTrue($user2->isAdminOf($group1));
     $this->assertTrue($user2->isMemberOf($group2));
     $this->assertTrue($user2->isAdminOf($group2));
     $this->assertTrue($user3->isMemberOf($group1));
     $this->assertFalse($user3->isAdminOf($group1));
     $this->assertFalse($user3->isMemberOf($group2));
     $this->assertFalse($user3->isAdminOf($group2));
     // Remove user2 as admin
     $user2->removeAllAdmin();
     // Should affect nothing!
     $this->assertTrue($user1->isMemberOf($group1));
     $this->assertFalse($user1->isAdminOf($group1));
     $this->assertFalse($user1->isMemberOf($group2));
     $this->assertFalse($user1->isAdminOf($group2));
     $this->assertTrue($user2->isMemberOf($group1));
     $this->assertFalse($user2->isAdminOf($group1));
     $this->assertTrue($user2->isMemberOf($group2));
     $this->assertFalse($user2->isAdminOf($group2));
     $this->assertTrue($user3->isMemberOf($group1));
     $this->assertFalse($user3->isAdminOf($group1));
     $this->assertFalse($user3->isMemberOf($group2));
     $this->assertFalse($user3->isAdminOf($group2));
     // remove user2 completely
     $group1->addAdmin($user2);
     $this->assertTrue($user1->isMemberOf($group1));
     $this->assertFalse($user1->isAdminOf($group1));
     $this->assertFalse($user1->isMemberOf($group2));
     $this->assertFalse($user1->isAdminOf($group2));
     $this->assertTrue($user2->isMemberOf($group1));
     $this->assertTrue($user2->isAdminOf($group1));
     $this->assertTrue($user2->isMemberOf($group2));
     $this->assertFalse($user2->isAdminOf($group2));
     $this->assertTrue($user3->isMemberOf($group1));
     $this->assertFalse($user3->isAdminOf($group1));
     $this->assertFalse($user3->isMemberOf($group2));
     $this->assertFalse($user3->isAdminOf($group2));
     // Remove user 2 completely
     $user2->removeAllMember();
     $this->assertTrue($user1->isMemberOf($group1));
     $this->assertFalse($user1->isAdminOf($group1));
     $this->assertFalse($user1->isMemberOf($group2));
     $this->assertFalse($user1->isAdminOf($group2));
     $this->assertFalse($user2->isMemberOf($group1));
     $this->assertFalse($user2->isAdminOf($group1));
     $this->assertFalse($user2->isMemberOf($group2));
     $this->assertFalse($user2->isAdminOf($group2));
     $this->assertTrue($user3->isMemberOf($group1));
     $this->assertFalse($user3->isAdminOf($group1));
     $this->assertFalse($user3->isMemberOf($group2));
     $this->assertFalse($user3->isAdminOf($group2));
 }
示例#3
0
 /**
  * Remove a user from the member-list of a group
  *
  * @param Application_Model_Group $group
  *
  * @return Application_Model_User
  */
 public function removeAsMember(ShortUrl_Model_Group $group)
 {
     foreach ($this->_groups as $grp) {
         if ($grp->getGroup() === $group) {
             $this->_groups->removeElement($grp);
             $group->removeConnection($grp);
             return $this;
         }
     }
     return $this;
 }