function testManyToManyRelationWithCriteria()
 {
     $user = $this->creator->initUser();
     $g1 = $this->creator->createGroup('foo');
     $g2 = $this->creator->createGroup('bar');
     $g3 = $this->creator->createGroup('condition');
     $this->assertEqual('condition', $g3->getTitle());
     $user->setGroups(array($g1, $g2, $g3));
     $user->save();
     $user = new UserForTest($user->id);
     $arr = $user->getCgroups()->getArray();
     $this->assertIsA($arr[0], 'GroupForTest');
     $this->assertEqual(sizeof($arr), 1);
     $this->assertEqual($arr[0]->getTitle(), $g3->getTitle());
 }
 protected function _initUser($groups = array())
 {
     $user = new UserForTest();
     $user->setFirstName('User' . mt_rand());
     if (sizeof($groups)) {
         foreach ($groups as $group) {
             $user->getGroups()->add($group);
         }
     }
     return $user;
 }
 function initUser($linked_object = null)
 {
     $user = new UserForTest();
     $user->setFirstName('User_' . rand(0, 1000));
     if ($linked_object) {
         $user->setLinkedObject($linked_object);
     }
     return $user;
 }
Пример #4
0
 function testImportWhereMany2ManyCollectionIsMixedArray()
 {
     $user1 = new UserForTest();
     $user1->setFirstName('Bob');
     $g1 = new GroupForTest();
     $g1->setTitle('vp1');
     $g2 = new GroupForTest();
     $g2->setTitle('vp1');
     $user1->addToGroups($g1);
     $user1->addToGroups($g2);
     $user1->save();
     $source = array('first_name' => $user1->getFirstName(), 'groups' => array($g1->getId(), $g2));
     $user2 = new UserForTest();
     $user2->import($source);
     $this->assertEqual($user2->getFirstName(), $user1->getFirstName());
     $this->assertEqual($user2->getGroups()->count(), 2);
     $this->assertEqual($user2->getGroups()->at(0)->getTitle(), $g1->getTitle());
     $this->assertEqual($user2->getGroups()->at(1)->getTitle(), $g2->getTitle());
 }