Skip to content
Snippets Groups Projects
Commit 07717744 authored by Felipe Artur's avatar Felipe Artur
Browse files

Disallow system notes for closed issuables

parent b0f5d1a9
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -385,6 +385,7 @@ module SystemNoteService
# Returns Boolean
def cross_reference_disallowed?(noteable, mentioner)
return true if noteable.is_a?(ExternalIssue) && !noteable.project.jira_tracker_active?
return true if noteable.is_a?(Issuable) && (noteable.try(:closed?) || noteable.try(:merged?))
return false unless mentioner.is_a?(MergeRequest)
return false unless noteable.is_a?(Commit)
 
Loading
Loading
---
title: Disallow system notes for closed issuables
merge_request:
author:
Loading
Loading
@@ -418,6 +418,45 @@ describe SystemNoteService, services: true do
to be_truthy
end
end
context 'when noteable is an Issue' do
let(:issue) { create(:issue, project: project) }
it 'is truthy when issue is closed' do
issue.close
expect(described_class.cross_reference_disallowed?(issue, project.commit)).
to be_truthy
end
it 'is falsey when issue is open' do
expect(described_class.cross_reference_disallowed?(issue, project.commit)).
to be_falsy
end
end
context 'when noteable is a Merge Request' do
let(:merge_request) { create(:merge_request, :simple, source_project: project) }
it 'is truthy when merge request is closed' do
allow(merge_request).to receive(:closed?).and_return(:true)
expect(described_class.cross_reference_disallowed?(merge_request, project.commit)).
to be_truthy
end
it 'is truthy when merge request is merged' do
allow(merge_request).to receive(:closed?).and_return(:true)
expect(described_class.cross_reference_disallowed?(merge_request, project.commit)).
to be_truthy
end
it 'is falsey when merge request is open' do
expect(described_class.cross_reference_disallowed?(merge_request, project.commit)).
to be_falsy
end
end
end
 
describe '.cross_reference_exists?' do
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment