From 1ad0251f8d6d75b82734d635c80939a1add9e14f Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Tue, 26 Jun 2018 21:35:19 +0800 Subject: [PATCH] Add ReorderJobListTest --- .../Controllers/Projects/ProjectsController.php | 2 +- database/factories/ModelFactory.php | 2 +- tests/Feature/Api/Projects/ReorderJobListTest.php | 33 ++++++++++++++++++++++ 3 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 tests/Feature/Api/Projects/ReorderJobListTest.php diff --git a/app/Http/Controllers/Projects/ProjectsController.php b/app/Http/Controllers/Projects/ProjectsController.php index 16ee732..f410d36 100755 --- a/app/Http/Controllers/Projects/ProjectsController.php +++ b/app/Http/Controllers/Projects/ProjectsController.php @@ -211,7 +211,7 @@ class ProjectsController extends Controller { $this->authorize('update', $project); - if ($request->ajax()) { + if ($request->expectsJson()) { $data = $this->repo->jobsReorder($request->get('postData')); return 'oke'; diff --git a/database/factories/ModelFactory.php b/database/factories/ModelFactory.php index bd12a73..9b7deed 100644 --- a/database/factories/ModelFactory.php +++ b/database/factories/ModelFactory.php @@ -29,7 +29,7 @@ $factory->define(Job::class, function (Faker\Generator $faker) { return factory(User::class)->create()->id; }, 'type_id' => 1, // Main job - 'position' => rand(1, 10), + 'position' => 1, ]; }); diff --git a/tests/Feature/Api/Projects/ReorderJobListTest.php b/tests/Feature/Api/Projects/ReorderJobListTest.php new file mode 100644 index 0000000..64127b6 --- /dev/null +++ b/tests/Feature/Api/Projects/ReorderJobListTest.php @@ -0,0 +1,33 @@ +adminUserSigningIn(); + $project = factory(Project::class)->create(); + $job1 = factory(Job::class)->create(['project_id' => $project->id, 'position' => 1]); + $job2 = factory(Job::class)->create(['project_id' => $project->id, 'position' => 2]); + + $this->postJson(route('projects.jobs-reorder', $project), [ + 'postData' => $job2->id.','.$job1->id, + ]); + + $this->seeInDatabase('jobs', [ + 'id' => $job1->id, + 'position' => 2, + ]); + + $this->seeInDatabase('jobs', [ + 'id' => $job2->id, + 'position' => 1, + ]); + } +}