From 52778632c1fbd55400faa1e8308280cd727d8153 Mon Sep 17 00:00:00 2001 From: Nick Thomas Date: Mon, 1 Apr 2019 15:13:23 +0000 Subject: [PATCH] Merge branch 'fj-59547-fix-has-commits' into 'master' Fix MergeRequest#has_commits? nil comparison Closes #59547 See merge request gitlab-org/gitlab-ce!26828 (cherry picked from commit b224efe767e4f8e24b51b87753f55bf6d3129f68) 6645b825 Fix MergeRequest#commits_count nil comparison --- app/models/merge_request.rb | 2 +- spec/models/merge_request_spec.rb | 13 ++++++++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index acf80addc6a..06a86a1f36f 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 07cb4c9c1e3..87db9e574cf 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 -- GitLab