diff --git a/app/services/task_service.rb b/app/services/task_service.rb index d82bce10ed..35d258a70c 100644 --- a/app/services/task_service.rb +++ b/app/services/task_service.rb @@ -11,7 +11,7 @@ class TaskService # * creates a pending task for assignee if issue is assigned # def new_issue(issue, current_user) - if issue.is_assigned? + if issue.is_assigned? && issue.assignee != current_user create_task(issue.project, issue, current_user, issue.assignee, Task::ASSIGNED) end end diff --git a/spec/services/task_service_spec.rb b/spec/services/task_service_spec.rb index ee3c4f8f95..db9f77fd12 100644 --- a/spec/services/task_service_spec.rb +++ b/spec/services/task_service_spec.rb @@ -25,6 +25,10 @@ describe TaskService, services: true do it 'does not create a task if unassigned' do is_expected_to_not_create_task { service.new_issue(unassigned_issue, author) } end + + it 'does not create a task if assignee is the current user' do + is_expected_to_not_create_task { service.new_issue(unassigned_issue, john_doe) } + end end describe '#reassigned_issue' do