/** * @test */ public function it_can_move_a_model_to_the_last_place() { $position = 3; $oldModels = Dummy::whereNot('id', $position)->get(); $model = Dummy::find($position); $this->assertNotEquals(20, $model->order_column); $model = $model->moveToEnd(); $this->assertEquals(20, $model->order_column); $oldModels = $oldModels->pluck('order_column', 'id'); $newModels = Dummy::whereNot('id', $position)->get()->pluck('order_column', 'id'); foreach ($oldModels as $key => $order) { if ($order > $position) { $this->assertEquals($order - 1, $newModels[$key]); } else { $this->assertEquals($order, $newModels[$key]); } } }