diff options
author | micael.bergeron <micaelbergeron@gmail.com> | 2017-11-20 13:00:35 -0500 |
---|---|---|
committer | micael.bergeron <micaelbergeron@gmail.com> | 2017-11-20 13:00:35 -0500 |
commit | 9ed91479a7bbca1e420cd91a6322493d7ffda749 (patch) | |
tree | 809970b30c6ebef4ac76fdc99b00ccb9fc680b9b /spec | |
parent | 869fc05d81eaced5d68ef28e334ae9ece80f74f7 (diff) | |
download | gitlab-ce-9ed91479a7bbca1e420cd91a6322493d7ffda749.tar.gz |
add the missing spec
Diffstat (limited to 'spec')
-rw-r--r-- | spec/models/note_spec.rb | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/models/note_spec.rb b/spec/models/note_spec.rb index 1ecb50586c7..6e7e8c4c570 100644 --- a/spec/models/note_spec.rb +++ b/spec/models/note_spec.rb @@ -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: ' ') |