Allow UsageData.count to use count_by:
This commit is contained in:
parent
9246fd5707
commit
d00d60a66d
|
@ -176,8 +176,8 @@ module Gitlab
|
|||
{} # augmented in EE
|
||||
end
|
||||
|
||||
def count(relation, fallback: -1)
|
||||
relation.count
|
||||
def count(relation, count_by: nil, fallback: -1)
|
||||
count_by ? relation.count(count_by) : relation.count
|
||||
rescue ActiveRecord::StatementInvalid
|
||||
fallback
|
||||
end
|
||||
|
|
|
@ -234,6 +234,12 @@ describe Gitlab::UsageData do
|
|||
expect(described_class.count(relation)).to eq(1)
|
||||
end
|
||||
|
||||
it 'returns the count for count_by when provided' do
|
||||
allow(relation).to receive(:count).with(:creator_id).and_return(2)
|
||||
|
||||
expect(described_class.count(relation, count_by: :creator_id)).to eq(2)
|
||||
end
|
||||
|
||||
it 'returns the fallback value when counting fails' do
|
||||
allow(relation).to receive(:count).and_raise(ActiveRecord::StatementInvalid.new(''))
|
||||
|
||||
|
|
Loading…
Reference in New Issue