diff options
author | Andreas Brandl <abrandl@gitlab.com> | 2018-11-23 18:31:15 +0300 |
---|---|---|
committer | Andreas Brandl <abrandl@gitlab.com> | 2018-12-03 23:26:53 +0300 |
commit | 474fd9138c16b78c77f0d64a32c9cb722caf0cca (patch) | |
tree | 86b4841e2970e29a4131933fb2b311503d3c8423 /spec/lib/gitlab/database/count/exact_count_strategy_spec.rb | |
parent | ff35cb45e986b0d155c3954a608c5f94c28f0e64 (diff) |
Move strategies in their own files
This improves readability quite a bit.
Diffstat (limited to 'spec/lib/gitlab/database/count/exact_count_strategy_spec.rb')
-rw-r--r-- | spec/lib/gitlab/database/count/exact_count_strategy_spec.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/spec/lib/gitlab/database/count/exact_count_strategy_spec.rb b/spec/lib/gitlab/database/count/exact_count_strategy_spec.rb new file mode 100644 index 00000000000..f518bb3dc3e --- /dev/null +++ b/spec/lib/gitlab/database/count/exact_count_strategy_spec.rb @@ -0,0 +1,34 @@ +require 'spec_helper' + +describe Gitlab::Database::Count::ExactCountStrategy do + before do + create_list(:project, 3) + create(:identity) + end + + let(:models) { [Project, Identity] } + + subject { described_class.new(models).count } + + describe '#count' do + it 'counts all models' do + expect(models).to all(receive(:count).and_call_original) + + expect(subject).to eq({ Project => 3, Identity => 1 }) + end + end + + describe '.enabled?' do + it 'is enabled for PostgreSQL' do + allow(Gitlab::Database).to receive(:postgresql?).and_return(true) + + expect(described_class.enabled?).to be_truthy + end + + it 'is enabled for MySQL' do + allow(Gitlab::Database).to receive(:postgresql?).and_return(false) + + expect(described_class.enabled?).to be_truthy + end + end +end |