Commit 9ed91479 authored by micael.bergeron's avatar micael.bergeron

add the missing spec

parent 869fc05d
......@@ -5,8 +5,8 @@ class SystemNoteMetadata < ActiveRecord::Base
# Other notes can always be safely shown as all its references are
# in the same project (i.e. with the same permissions)
TYPES_WITH_CROSS_REFERENCES = %w[
cross_reference
milestone
commit cross_reference
close duplicate
].freeze
ICON_TYPES = %w[
......
......@@ -231,6 +231,37 @@ describe Note do
end
end
describe '#cross_reference?' do
it 'falsey for user-generated notes' do
note = create(:note, system: false)
expect(note.cross_reference?).to be_falsy
end
context 'when the note might contain cross references' do
SystemNoteMetadata::TYPES_WITH_CROSS_REFERENCES.each do |type|
let(:note) { create(:note, :system) }
let!(:metadata) { create(:system_note_metadata, note: note, action: type) }
it 'delegates to the cross-reference regex' do
expect(note).to receive(:matches_cross_reference_regex?).and_return(false)
note.cross_reference?
end
end
end
context 'when the note cannot contain cross references' do
let(:commit_note) { build(:note, note: 'mentioned in 1312312313 something else.', system: true) }
let(:label_note) { build(:note, note: 'added ~2323232323', system: true) }
it 'scan for a `mentioned in` prefix' do
expect(commit_note.cross_reference?).to be_truthy
expect(label_note.cross_reference?).to be_falsy
end
end
end
describe 'clear_blank_line_code!' do
it 'clears a blank line code before validation' do
note = build(:note, line_code: ' ')
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment