diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index acf80addc6a0cb246e174d06fccef3448db31470..06a86a1f36fd93d1e8cb2ba1a9ca5593833e5d5d 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -1301,7 +1301,7 @@ class MergeRequest < ActiveRecord::Base end def has_commits? - merge_request_diff && commits_count > 0 + merge_request_diff && commits_count.to_i > 0 end def has_no_commits? diff --git a/spec/models/merge_request_spec.rb b/spec/models/merge_request_spec.rb index 07cb4c9c1e3c0fd76bcf9c4dd231933723ff38a6..87db9e574cfc3c5f9116e9b26a84b24cfb590829 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -2613,14 +2613,21 @@ describe MergeRequest do end describe '#has_commits?' do - before do + it 'returns true when merge request diff has commits' do allow(subject.merge_request_diff).to receive(:commits_count) .and_return(2) - end - it 'returns true when merge request diff has commits' do expect(subject.has_commits?).to be_truthy end + + context 'when commits_count is nil' do + it 'returns false' do + allow(subject.merge_request_diff).to receive(:commits_count) + .and_return(nil) + + expect(subject.has_commits?).to be_falsey + end + end end describe '#has_no_commits?' do