summaryrefslogtreecommitdiff
path: root/spec/services/issuable/destroy_service_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/services/issuable/destroy_service_spec.rb')
-rw-r--r--spec/services/issuable/destroy_service_spec.rb21
1 files changed, 8 insertions, 13 deletions
diff --git a/spec/services/issuable/destroy_service_spec.rb b/spec/services/issuable/destroy_service_spec.rb
index 8d62932f986..fa4902e5237 100644
--- a/spec/services/issuable/destroy_service_spec.rb
+++ b/spec/services/issuable/destroy_service_spec.rb
@@ -4,7 +4,8 @@ require 'spec_helper'
RSpec.describe Issuable::DestroyService do
let(:user) { create(:user) }
- let(:project) { create(:project, :public) }
+ let(:group) { create(:group, :public) }
+ let(:project) { create(:project, :public, group: group) }
subject(:service) { described_class.new(project, user) }
@@ -22,17 +23,14 @@ RSpec.describe Issuable::DestroyService do
service.execute(issue)
end
- it 'updates the todo caches for users with todos on the issue' do
- create(:todo, target: issue, user: user, author: user, project: project)
-
- expect { service.execute(issue) }
- .to change { user.todos_pending_count }.from(1).to(0)
- end
-
it 'invalidates the issues count cache for the assignees' do
expect_any_instance_of(User).to receive(:invalidate_cache_counts).once
service.execute(issue)
end
+
+ it_behaves_like 'service deleting todos' do
+ let(:issuable) { issue }
+ end
end
context 'when issuable is a merge request' do
@@ -53,11 +51,8 @@ RSpec.describe Issuable::DestroyService do
service.execute(merge_request)
end
- it 'updates the todo caches for users with todos on the merge request' do
- create(:todo, target: merge_request, user: user, author: user, project: project)
-
- expect { service.execute(merge_request) }
- .to change { user.todos_pending_count }.from(1).to(0)
+ it_behaves_like 'service deleting todos' do
+ let(:issuable) { merge_request }
end
end
end