From fe3da97edf059cf1979e3ededb80c971d33aa7ff Mon Sep 17 00:00:00 2001 From: Nafies Luthfi Date: Fri, 8 Mar 2019 08:09:06 +0800 Subject: [PATCH] User can remove pic from an issue --- app/Http/Controllers/Issues/PicController.php | 6 +++++- resources/lang/de/issue.php | 1 + resources/lang/en/issue.php | 1 + resources/lang/id/issue.php | 1 + tests/Feature/Projects/ProjectIssuesTest.php | 20 ++++++++++++++++++++ 5 files changed, 28 insertions(+), 1 deletion(-) diff --git a/app/Http/Controllers/Issues/PicController.php b/app/Http/Controllers/Issues/PicController.php index ff37216..8a5c63f 100644 --- a/app/Http/Controllers/Issues/PicController.php +++ b/app/Http/Controllers/Issues/PicController.php @@ -16,7 +16,11 @@ class PicController extends Controller $issue->pic_id = $picData['pic_id']; $issue->save(); - flash(__('issue.pic_assigned'), 'success'); + if ($issue->pic_id) { + flash(__('issue.pic_assigned'), 'success'); + } else { + flash(__('issue.pic_removed'), 'warning'); + } return back(); } diff --git a/resources/lang/de/issue.php b/resources/lang/de/issue.php index fe8f6ac..254e9d6 100644 --- a/resources/lang/de/issue.php +++ b/resources/lang/de/issue.php @@ -29,6 +29,7 @@ return [ 'assign_pic' => 'Assign PIC', 'select_pic' => 'Select a PIC', 'pic_assigned' => 'Issue PIC has been assigned.', + 'pic_removed' => 'Issue PIC has been removed.', // Attributes 'title' => 'Issue Title', diff --git a/resources/lang/en/issue.php b/resources/lang/en/issue.php index fe8f6ac..254e9d6 100644 --- a/resources/lang/en/issue.php +++ b/resources/lang/en/issue.php @@ -29,6 +29,7 @@ return [ 'assign_pic' => 'Assign PIC', 'select_pic' => 'Select a PIC', 'pic_assigned' => 'Issue PIC has been assigned.', + 'pic_removed' => 'Issue PIC has been removed.', // Attributes 'title' => 'Issue Title', diff --git a/resources/lang/id/issue.php b/resources/lang/id/issue.php index 76212a5..ea142ec 100644 --- a/resources/lang/id/issue.php +++ b/resources/lang/id/issue.php @@ -29,6 +29,7 @@ return [ 'assign_pic' => 'Tugaskan PIC', 'select_pic' => 'Pilih PIC', 'pic_assigned' => 'PIC telah ditugaskan.', + 'pic_removed' => 'PIC telah dihapus.', // Attributes 'title' => 'Judul Issue', diff --git a/tests/Feature/Projects/ProjectIssuesTest.php b/tests/Feature/Projects/ProjectIssuesTest.php index 48dcbe0..365d62d 100644 --- a/tests/Feature/Projects/ProjectIssuesTest.php +++ b/tests/Feature/Projects/ProjectIssuesTest.php @@ -146,4 +146,24 @@ class ProjectIssuesTest extends TestCase 'pic_id' => $worker->id, ]); } + + /** @test */ + public function user_can_remove_pic_assignment() + { + $this->adminUserSigningIn(); + $worker = $this->createUser('worker'); + $issue = factory(Issue::class)->create(['pic_id' => $worker->id]); + + $this->visitRoute('projects.issues.show', [$issue->project, $issue]); + $this->submitForm(__('issue.assign_pic'), [ + 'pic_id' => null, + ]); + $this->seeRouteIs('projects.issues.show', [$issue->project, $issue]); + $this->seeText(__('issue.pic_removed')); + + $this->seeInDatabase('issues', [ + 'id' => $issue->id, + 'pic_id' => null, + ]); + } }