summaryrefslogtreecommitdiff
path: root/spec/services/milestones
diff options
context:
space:
mode:
authorSean McGivern <sean@mcgivern.me.uk>2018-08-28 07:49:09 +0000
committerSean McGivern <sean@mcgivern.me.uk>2018-08-28 07:49:09 +0000
commit722631a9290e07cc0d83baf7bf332223ab7cf8b6 (patch)
tree3e1b00852e04cb76236a985e57a3afa6d37ebc68 /spec/services/milestones
parent881ba3f5977dafda7feee77f841ace290c918a8d (diff)
parentabb50ff4710e264c0c700df88757ee3ab1cf7dfb (diff)
downloadgitlab-ce-722631a9290e07cc0d83baf7bf332223ab7cf8b6.tar.gz
Merge branch 'issue_36138' into 'master'
Allow to delete group milestones Closes #36138 See merge request gitlab-org/gitlab-ce!21057
Diffstat (limited to 'spec/services/milestones')
-rw-r--r--spec/services/milestones/destroy_service_spec.rb28
1 files changed, 22 insertions, 6 deletions
diff --git a/spec/services/milestones/destroy_service_spec.rb b/spec/services/milestones/destroy_service_spec.rb
index 6f3612501f4..8680e428517 100644
--- a/spec/services/milestones/destroy_service_spec.rb
+++ b/spec/services/milestones/destroy_service_spec.rb
@@ -4,8 +4,6 @@ describe Milestones::DestroyService do
let(:user) { create(:user) }
let(:project) { create(:project) }
let(:milestone) { create(:milestone, title: 'Milestone v1.0', project: project) }
- let!(:issue) { create(:issue, project: project, milestone: milestone) }
- let!(:merge_request) { create(:merge_request, source_project: project, milestone: milestone) }
before do
project.add_maintainer(user)
@@ -23,12 +21,23 @@ describe Milestones::DestroyService do
end
it 'deletes milestone id from issuables' do
+ issue = create(:issue, project: project, milestone: milestone)
+ merge_request = create(:merge_request, source_project: project, milestone: milestone)
+
service.execute(milestone)
expect(issue.reload.milestone).to be_nil
expect(merge_request.reload.milestone).to be_nil
end
+ it 'logs destroy event' do
+ service.execute(milestone)
+
+ event = Event.where(project_id: milestone.project_id, target_type: 'Milestone')
+
+ expect(event.count).to eq(1)
+ end
+
context 'group milestones' do
let(:group) { create(:group) }
let(:group_milestone) { create(:milestone, group: group) }
@@ -38,13 +47,20 @@ describe Milestones::DestroyService do
group.add_developer(user)
end
- it { expect(service.execute(group_milestone)).to be_nil }
+ it { expect(service.execute(group_milestone)).to eq(group_milestone) }
- it 'does not update milestone issuables' do
- expect(MergeRequests::UpdateService).not_to receive(:new)
- expect(Issues::UpdateService).not_to receive(:new)
+ it 'deletes milestone id from issuables' do
+ issue = create(:issue, project: project, milestone: group_milestone)
+ merge_request = create(:merge_request, source_project: project, milestone: group_milestone)
service.execute(group_milestone)
+
+ expect(issue.reload.milestone).to be_nil
+ expect(merge_request.reload.milestone).to be_nil
+ end
+
+ it 'does not log destroy event' do
+ expect { service.execute(group_milestone) }.not_to change { Event.count }
end
end
end