function testSortWithExistingOwner() { $group1 = new GroupForTest(); $group1->setTitle('A-Group'); $group2 = new GroupForTest(); $group2->setTitle('B-Group'); $group3 = new GroupForTest(); $group3->setTitle('C-Group'); $user = $this->_createUserAndSave(array($group1, $group2, $group3)); $collection = new lmbARManyToManyCollection('groups', $user); $collection->sort(array('title' => 'DESC')); $this->assertEqual($collection->count(), 3); $arr = $collection->getArray(); $this->assertEqual(sizeof($arr), 3); $this->assertEqual($arr[0]->getTitle(), $group3->getTitle()); $this->assertEqual($arr[1]->getTitle(), $group2->getTitle()); $this->assertEqual($arr[2]->getTitle(), $group1->getTitle()); }
function testImportResetsExistingMany2ManyCollection() { $group = new GroupForTest(); $group->setTitle('Some group'); $u1 = new UserForTest(); $u1->setFirstName('Bob'); $u2 = new UserForTest(); $u2->setFirstName('John'); $group->addToUsers($u1); $group->addToUsers($u2); $group->save(); $source = array('title' => $group->getTitle(), 'users' => array($u2->getId())); $group2 = new GroupForTest($group->getId()); $group2->import($source); $this->assertEqual($group2->getTitle(), $group->getTitle()); $this->assertEqual($group2->getUsers()->count(), 1); $this->assertEqual($group2->getUsers()->at(0)->getFirstName(), $u2->getFirstName()); }