Browse Source

Add validation for job_ids on clone jobs form other project

pull/57/head
Nafies Luthfi 6 years ago
parent
commit
70f4bcadd7
  1. 11
      app/Http/Controllers/Projects/JobsController.php
  2. 18
      tests/Feature/ManageJobsTest.php

11
app/Http/Controllers/Projects/JobsController.php

@ -52,15 +52,18 @@ class JobsController extends Controller
public function store(CreateRequest $req, $projectId)
{
$job = $this->repo->createJob($req->except('_token'), $projectId);
flash(trans('job.created'), 'success');
flash(__('job.created'), 'success');
return redirect()->route('jobs.show', $job->id);
}
public function storeFromOtherProject(Request $req, $projectId)
public function storeFromOtherProject(Request $request, $projectId)
{
$this->repo->createJobs($req->except('_token'), $projectId);
flash(trans('job.created_from_other_project'), 'success');
$request->validate(['job_ids' => 'required|array']);
$this->repo->createJobs($request->except('_token'), $projectId);
flash(__('job.created_from_other_project'), 'success');
return redirect()->route('projects.jobs.index', $projectId);
}

18
tests/Feature/ManageJobsTest.php

@ -199,6 +199,24 @@ class ManageJobsTest extends TestCase
}
/** @test */
public function validate_clone_many_jobs_from_other_projects()
{
$user = $this->adminUserSigningIn();
$customer = factory(Customer::class)->create();
$projects = factory(Project::class, 2)->create(['customer_id' => $customer->id]);
$jobs = factory(Job::class, 3)->create(['project_id' => $projects[0]->id]);
$tasks1 = factory(Task::class, 3)->create(['job_id' => $jobs[0]->id]);
$tasks2 = factory(Task::class, 3)->create(['job_id' => $jobs[1]->id]);
$this->visit(route('projects.jobs.add-from-other-project', [$projects[1]->id, 'project_id' => $projects[0]->id]));
$this->submitForm(__('job.add'), []);
$this->seePageIs(route('projects.jobs.add-from-other-project', [$projects[1]->id, 'project_id' => $projects[0]->id]));
$this->see(__('validation.required', ['attribute' => 'job ids']));
}
/** @test */
public function admin_can_see_unfinished_jobs_list()
{
$user = $this->adminUserSigningIn();

Loading…
Cancel
Save