From 59b80457970275fd5ce7172c8ff4ed3df0db41a6 Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Fri, 17 Nov 2017 23:00:00 +0800 Subject: [PATCH] Refactor ManageJobsTest class Change some route name for project jobs routes Add docblock for some classes --- app/Http/Controllers/Api/ProjectsController.php | 5 +++++ app/Http/Controllers/JobsController.php | 6 +++++- .../views/jobs/add-from-other-project.blade.php | 2 +- resources/views/jobs/create.blade.php | 2 +- routes/web/projects.php | 4 ++-- tests/Feature/Api/ApiEventsTest.php | 17 ++++++++++------ tests/Feature/Api/ApiManageProjectsTest.php | 7 ++++++- tests/Feature/ManageJobsTest.php | 23 ++++++++++++---------- 8 files changed, 44 insertions(+), 22 deletions(-) diff --git a/app/Http/Controllers/Api/ProjectsController.php b/app/Http/Controllers/Api/ProjectsController.php index f7aecb6..9e20a07 100644 --- a/app/Http/Controllers/Api/ProjectsController.php +++ b/app/Http/Controllers/Api/ProjectsController.php @@ -6,6 +6,11 @@ use App\Entities\Projects\ProjectsRepository; use App\Http\Controllers\Controller; use Illuminate\Http\Request; +/** + * Projects Controller + * + * @author Nafies Luthfi + */ class ProjectsController extends Controller { private $repo; diff --git a/app/Http/Controllers/JobsController.php b/app/Http/Controllers/JobsController.php index ebb65c2..368c90a 100755 --- a/app/Http/Controllers/JobsController.php +++ b/app/Http/Controllers/JobsController.php @@ -4,9 +4,13 @@ namespace App\Http\Controllers; use App\Entities\Projects\JobsRepository; +/** + * Jobs Controller + * + * @author Nafies Luthfi + */ class JobsController extends Controller { - private $repo; public function __construct(JobsRepository $repo) diff --git a/resources/views/jobs/add-from-other-project.blade.php b/resources/views/jobs/add-from-other-project.blade.php index eeda08b..f64b006 100755 --- a/resources/views/jobs/add-from-other-project.blade.php +++ b/resources/views/jobs/add-from-other-project.blade.php @@ -23,7 +23,7 @@ {!! Form::close() !!} @if ($selectedProject) - {!! Form::open(['route'=>['jobs.store-from-other-project', $project->id]]) !!} + {!! Form::open(['route' => ['projects.jobs.store-from-other-project', $project->id]]) !!}
    @forelse($selectedProject->jobs as $key => $job)
  • diff --git a/resources/views/jobs/create.blade.php b/resources/views/jobs/create.blade.php index 7a219c9..7e3f575 100755 --- a/resources/views/jobs/create.blade.php +++ b/resources/views/jobs/create.blade.php @@ -7,7 +7,7 @@
    - {!! Form::open(['route'=>['jobs.store', $project->id]]) !!} + {!! Form::open(['route' => ['projects.jobs.store', $project->id]]) !!}

    {{ trans('job.create') }}

    diff --git a/routes/web/projects.php b/routes/web/projects.php index f573114..4ce1c18 100644 --- a/routes/web/projects.php +++ b/routes/web/projects.php @@ -31,8 +31,8 @@ Route::group(['middleware' => ['web', 'auth'], 'namespace' => 'Projects'], funct */ Route::get('projects/{id}/jobs/create', ['as' => 'jobs.create', 'uses' => 'JobsController@create']); Route::get('projects/{id}/jobs/add-from-other-project', ['as' => 'jobs.add-from-other-project', 'uses' => 'JobsController@addFromOtherProject']); - Route::post('projects/{id}/jobs', ['as' => 'jobs.store', 'uses' => 'JobsController@store']); - Route::post('projects/{id}/jobs/store-from-other-project', ['as' => 'jobs.store-from-other-project', 'uses' => 'JobsController@storeFromOtherProject']); + Route::post('projects/{id}/jobs', ['as' => 'projects.jobs.store', 'uses' => 'JobsController@store']); + Route::post('projects/{id}/jobs/store-from-other-project', ['as' => 'projects.jobs.store-from-other-project', 'uses' => 'JobsController@storeFromOtherProject']); Route::get('jobs/{id}/delete', ['as' => 'jobs.delete', 'uses' => 'JobsController@delete']); Route::post('jobs/{id}/tasks-reorder', ['as' => 'jobs.tasks-reorder', 'uses' => 'JobsController@tasksReorder']); Route::get('projects/{project}/jobs', ['as' => 'projects.jobs.index', 'uses' => 'JobsController@index']); diff --git a/tests/Feature/Api/ApiEventsTest.php b/tests/Feature/Api/ApiEventsTest.php index 8db31f9..93a3339 100644 --- a/tests/Feature/Api/ApiEventsTest.php +++ b/tests/Feature/Api/ApiEventsTest.php @@ -7,12 +7,17 @@ use App\Entities\Users\Event; use App\Entities\Users\User; use Tests\TestCase; +/** + * Manage Events API Feature Test + * + * @author Nafies Luthfi + */ class ApiEventsTest extends TestCase { /** @test */ public function it_can_get_all_existing_events() { - $user = factory(User::class)->create(); + $user = factory(User::class)->create(); $events = factory(Event::class, 2)->create(['user_id' => $user->id]); $this->getJson(route('api.events.index'), [ @@ -37,7 +42,7 @@ class ApiEventsTest extends TestCase /** @test */ public function user_can_create_new_event() { - $user = factory(User::class)->create(); + $user = factory(User::class)->create(); $project = factory(Project::class)->create(); $this->postJson(route('api.events.store'), [ @@ -76,9 +81,9 @@ class ApiEventsTest extends TestCase /** @test */ public function user_can_update_their_event() { - $user = factory(User::class)->create(); + $user = factory(User::class)->create(); $project = factory(Project::class)->create(); - $event = factory(Event::class)->create(['user_id' => $user->id]); + $event = factory(Event::class)->create(['user_id' => $user->id]); // dump($event->toArray()); $this->patchJson(route('api.events.update'), [ 'id' => $event->id, @@ -111,7 +116,7 @@ class ApiEventsTest extends TestCase /** @test */ public function user_can_delete_their_event() { - $user = factory(User::class)->create(); + $user = factory(User::class)->create(); $event = factory(Event::class)->create(['user_id' => $user->id]); $this->deleteJson(route('api.events.destroy'), ['id' => $event->id], [ @@ -128,7 +133,7 @@ class ApiEventsTest extends TestCase /** @test */ public function user_can_reschedule_their_event() { - $user = factory(User::class)->create(); + $user = factory(User::class)->create(); $event = factory(Event::class)->create(['user_id' => $user->id, 'start' => '2016-11-17 12:00:00']); $this->patchJson(route('api.events.reschedule'), [ diff --git a/tests/Feature/Api/ApiManageProjectsTest.php b/tests/Feature/Api/ApiManageProjectsTest.php index cfb4f27..3d7b95d 100644 --- a/tests/Feature/Api/ApiManageProjectsTest.php +++ b/tests/Feature/Api/ApiManageProjectsTest.php @@ -5,12 +5,17 @@ namespace Tests\Feature\Api; use App\Entities\Projects\Project; use Tests\TestCase; +/** + * Manage Projects API Feature Test + * + * @author Nafies Luthfi + */ class ApiManageProjectsTest extends TestCase { /** @test */ public function user_can_get_project_lists() { - $user = $this->adminUserSigningIn(); + $user = $this->adminUserSigningIn(); $project = factory(Project::class, 1)->create(); $this->getJson(route('api.projects.index'), [ diff --git a/tests/Feature/ManageJobsTest.php b/tests/Feature/ManageJobsTest.php index 8ed0044..753e046 100644 --- a/tests/Feature/ManageJobsTest.php +++ b/tests/Feature/ManageJobsTest.php @@ -154,16 +154,19 @@ class ManageJobsTest extends TestCase $this->press(trans('project.show_jobs')); $this->seePageIs(route('jobs.add-from-other-project', [$projects[1]->id, 'project_id' => $projects[0]->id])); - $form = $this->getForm(trans('job.create')); - $form['job_ids'][$jobs[0]->id]->tick(); - $form['job_ids'][$jobs[1]->id]->tick(); - $form[$jobs[0]->id.'_task_ids'][$tasks1[0]->id]->tick(); - $form[$jobs[0]->id.'_task_ids'][$tasks1[1]->id]->tick(); - $form[$jobs[0]->id.'_task_ids'][$tasks1[2]->id]->tick(); - $form[$jobs[1]->id.'_task_ids'][$tasks2[0]->id]->tick(); - $form[$jobs[1]->id.'_task_ids'][$tasks2[1]->id]->tick(); - $form[$jobs[1]->id.'_task_ids'][$tasks2[2]->id]->tick(); - $this->makeRequestUsingForm($form); + $this->submitForm(trans('job.create'), [ + 'job_ids['.$jobs[0]->id.']' => $jobs[0]->id, + + $jobs[0]->id.'_task_ids['.$tasks1[0]->id.']' => $tasks1[0]->id, + $jobs[0]->id.'_task_ids['.$tasks1[1]->id.']' => $tasks1[1]->id, + $jobs[0]->id.'_task_ids['.$tasks1[2]->id.']' => $tasks1[2]->id, + + 'job_ids['.$jobs[1]->id.']' => $jobs[1]->id, + + $jobs[1]->id.'_task_ids['.$tasks2[0]->id.']' => $tasks2[0]->id, + $jobs[1]->id.'_task_ids['.$tasks2[1]->id.']' => $tasks2[1]->id, + $jobs[1]->id.'_task_ids['.$tasks2[2]->id.']' => $tasks2[2]->id, + ]); $this->seePageIs(route('projects.jobs.index', $projects[1]->id));