diff options
Diffstat (limited to 'spec/models/merge_request_spec.rb')
-rw-r--r-- | spec/models/merge_request_spec.rb | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index bfad1da1e21..50bb194ef71 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -874,7 +874,7 @@ describe MergeRequest do subject(:merge_request) { build(:merge_request) } before do - expect(diff).to receive(:modified_paths).and_return(paths) + allow(diff).to receive(:modified_paths).and_return(paths) end context 'when past_merge_request_diff is specified' do @@ -890,10 +890,29 @@ describe MergeRequest do let(:compare) { double(:compare) } let(:diff) { compare } - it 'returns affected file paths from compare' do + before do merge_request.compare = compare - expect(merge_request.modified_paths).to eq(paths) + expect(merge_request).to receive(:diff_stats).and_return(diff_stats) + end + + context 'and diff_stats are not present' do + let(:diff_stats) { nil } + + it 'returns affected file paths from compare' do + expect(merge_request.modified_paths).to eq(paths) + end + end + + context 'and diff_stats are present' do + let(:diff_stats) { double(:diff_stats) } + + it 'returns affected file paths from compare' do + diff_stats_path = double(:diff_stats_paths) + expect(diff_stats).to receive(:paths).and_return(diff_stats_path) + + expect(merge_request.modified_paths).to eq(diff_stats_path) + end end end |