Browse Source

Refactor ManageJobsTest class

Change some route name for project jobs routes
Add docblock for some classes
pull/1/head
Nafies Luthfi 8 years ago
parent
commit
59b8045797
  1. 5
      app/Http/Controllers/Api/ProjectsController.php
  2. 6
      app/Http/Controllers/JobsController.php
  3. 2
      resources/views/jobs/add-from-other-project.blade.php
  4. 2
      resources/views/jobs/create.blade.php
  5. 4
      routes/web/projects.php
  6. 17
      tests/Feature/Api/ApiEventsTest.php
  7. 7
      tests/Feature/Api/ApiManageProjectsTest.php
  8. 23
      tests/Feature/ManageJobsTest.php

5
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 <nafiesl@gmail.com>
*/
class ProjectsController extends Controller
{
private $repo;

6
app/Http/Controllers/JobsController.php

@ -4,9 +4,13 @@ namespace App\Http\Controllers;
use App\Entities\Projects\JobsRepository;
/**
* Jobs Controller
*
* @author Nafies Luthfi <nafiesl@gmail.com>
*/
class JobsController extends Controller
{
private $repo;
public function __construct(JobsRepository $repo)

2
resources/views/jobs/add-from-other-project.blade.php

@ -23,7 +23,7 @@
</div>
{!! 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]]) !!}
<ul class="list-unstyled">
@forelse($selectedProject->jobs as $key => $job)
<li>

2
resources/views/jobs/create.blade.php

@ -7,7 +7,7 @@
<div class="row">
<div class="col-sm-6">
{!! Form::open(['route'=>['jobs.store', $project->id]]) !!}
{!! Form::open(['route' => ['projects.jobs.store', $project->id]]) !!}
<div class="panel panel-default">
<div class="panel-heading"><h3 class="panel-title">{{ trans('job.create') }}</h3></div>
<div class="panel-body">

4
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']);

17
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 <nafiesl@gmail.com>
*/
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'), [

7
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 <nafiesl@gmail.com>
*/
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'), [

23
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));

Loading…
Cancel
Save