diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-08-24 23:10:56 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-08-24 23:10:56 +0300 |
commit | b542c8ae344bbdd763d10afdcd6921fd268b7832 (patch) | |
tree | 3201c706f5495eb5feca0aaf49d28a00130b53a2 /spec/services/discussions | |
parent | 9119206b6e8aefc4ae25a0d366e7a9788c0a2abd (diff) |
Add latest changes from gitlab-org/gitlab@13-3-stable-ee
Diffstat (limited to 'spec/services/discussions')
-rw-r--r-- | spec/services/discussions/capture_diff_note_position_service_spec.rb | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/spec/services/discussions/capture_diff_note_position_service_spec.rb b/spec/services/discussions/capture_diff_note_position_service_spec.rb index 0913ddd8ef2..11614ccfd55 100644 --- a/spec/services/discussions/capture_diff_note_position_service_spec.rb +++ b/spec/services/discussions/capture_diff_note_position_service_spec.rb @@ -29,18 +29,33 @@ RSpec.describe Discussions::CaptureDiffNotePositionService do end end - context 'when position tracer returned nil position' do + context 'when position tracer returned position' do let!(:note) { create(:diff_note_on_merge_request) } let(:paths) { ['files/any_file.txt'] } - it 'does not create diff note position' do + before do expect(note.noteable).to receive(:merge_ref_head).and_return(double.as_null_object) expect_next_instance_of(Gitlab::Diff::PositionTracer) do |tracer| - expect(tracer).to receive(:trace).and_return({ position: nil }) + expect(tracer).to receive(:trace).and_return({ position: position }) end + end - expect(subject.execute(note.discussion)).to eq(nil) - expect(note.diff_note_positions).to be_empty + context 'which is nil' do + let(:position) { nil } + + it 'does not create diff note position' do + expect(subject.execute(note.discussion)).to eq(nil) + expect(note.diff_note_positions).to be_empty + end + end + + context 'which does not have a corresponding line' do + let(:position) { double(line_code: nil) } + + it 'does not create diff note position' do + expect(subject.execute(note.discussion)).to eq(nil) + expect(note.diff_note_positions).to be_empty + end end end end |