/** * @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]); } } }
/** * @test */ public function it_can_move_the_order_up() { $firstModel = Dummy::find(1); $secondModel = Dummy::find(2); $this->assertEquals($firstModel->order_column, 1); $this->assertEquals($secondModel->order_column, 2); $this->assertNotFalse($secondModel->moveOrderUp()); $firstModel = Dummy::find(1); $secondModel = Dummy::find(2); $this->assertEquals($firstModel->order_column, 2); $this->assertEquals($secondModel->order_column, 1); }