diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index b52c480a487..d3951cd72db 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -1343,7 +1343,7 @@ class MergeRequest < ApplicationRecord 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 092504cde9e..4b3a77e6bc2 100644 --- a/spec/models/merge_request_spec.rb +++ b/spec/models/merge_request_spec.rb @@ -2714,13 +2714,20 @@ 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) + + expect(subject.has_commits?).to be_truthy end - it 'returns true when merge request diff has commits' do - expect(subject.has_commits?).to be_truthy + 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