diff --git a/app/Http/Controllers/Projects/TasksController.php b/app/Http/Controllers/Projects/TasksController.php index 7539580..2dda44d 100755 --- a/app/Http/Controllers/Projects/TasksController.php +++ b/app/Http/Controllers/Projects/TasksController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers\Projects; +use DB; use App\Entities\Projects\Job; use App\Entities\Projects\Task; use App\Http\Controllers\Controller; @@ -84,7 +85,11 @@ class TasksController extends Controller $job->description = $task->description; $job->project_id = $oldJob->project_id; $job->worker_id = $oldJob->worker_id; + + DB::beginTransaction(); $job->save(); + $task->delete(); + DB::commit(); flash(__('task.upgraded_to_job'), 'success'); diff --git a/tests/Feature/ManageJobsTest.php b/tests/Feature/ManageJobsTest.php index 9c06048..6ff9325 100644 --- a/tests/Feature/ManageJobsTest.php +++ b/tests/Feature/ManageJobsTest.php @@ -212,12 +212,12 @@ class ManageJobsTest extends TestCase $project = factory(Project::class)->create(); $job = factory(Job::class)->create([ 'project_id' => $project->id, - 'type_id' => 1, - 'worker_id' => $user->id, + 'type_id' => 1, + 'worker_id' => $user->id, ]); $task = factory(Task::class)->create([ - 'name' => 'This is a Task', - 'job_id' => $job->id, + 'name' => 'This is a Task', + 'job_id' => $job->id, 'description' => 'Task description.', ]); @@ -227,8 +227,12 @@ class ManageJobsTest extends TestCase $this->press('set-as-job-'.$task->id); $this->seeInDatabase('jobs', [ - 'name' => 'This is a Task', + 'name' => 'This is a Task', 'description' => 'Task description.', ]); + + $this->dontSeeInDatabase('tasks', [ + 'id' => $task->id, + ]); } }