public function testPreDelete() { $max = SortableTable11Query::create()->getMaxRank(); $t3 = SortableTable11Query::retrieveByRank(3); $t3->delete(); $this->assertEquals($max - 1, SortableTable11Query::create()->getMaxRank(), 'Sortable rearrange subsequent rows on delete'); $t4 = SortableTable11Query::create()->filterByTitle('row4')->findOne(); $this->assertEquals(3, $t4->getRank(), 'Sortable rearrange subsequent rows on delete'); }
public function testReorder() { $objects = SortableTable11Query::create()->find(); $ids = array(); foreach ($objects as $object) { $ids[] = $object->getPrimaryKey(); } $ranks = array(4, 3, 2, 1); $order = array_combine($ids, $ranks); SortableTable11Query::create()->reorder($order); $expected = array(1 => 'row3', 2 => 'row2', 3 => 'row4', 4 => 'row1'); $this->assertEquals($expected, $this->getFixturesArray(), 'reorder() reorders the suite'); }
protected function getFixturesArray() { $ts = SortableTable11Query::create()->orderByRank()->find(); $ret = []; foreach ($ts as $t) { $ret[$t->getRank()] = $t->getTitle(); } return $ret; }