public function testMoveToPosition() { $item1 = new SortableItem(); $item1->save(); $item2 = new SortableItem(); $item2->save(); $item3 = new SortableItem(); $item3->save(); $item4 = new SortableItem(); $item4->save(); $item5 = new SortableItem(); $item5->save(); $new_position = $item1->position; $item5->moveToPosition($new_position); $this->assertEqual($item5->position, $new_position); $this->assertEqual($item1->refresh()->position, $new_position + 1); $new_position = $item4->refresh()->position; $item2->moveToPosition($new_position); $this->assertEqual($item2->refresh()->position, $new_position); $this->assertEqual($item4->refresh()->position, $new_position - 1); }