diff options
Diffstat (limited to 'spec/models/concerns/ci/partitionable_spec.rb')
-rw-r--r-- | spec/models/concerns/ci/partitionable_spec.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/spec/models/concerns/ci/partitionable_spec.rb b/spec/models/concerns/ci/partitionable_spec.rb index f3d33c971c7..430ef57d493 100644 --- a/spec/models/concerns/ci/partitionable_spec.rb +++ b/spec/models/concerns/ci/partitionable_spec.rb @@ -40,4 +40,28 @@ RSpec.describe Ci::Partitionable do it { expect(ci_model.ancestors).to include(described_class::Switch) } end + + context 'with partitioned options' do + before do + stub_const("#{described_class}::Testing::PARTITIONABLE_MODELS", [ci_model.name]) + + ci_model.include(described_class) + ci_model.partitionable scope: ->(r) { 1 }, partitioned: partitioned + end + + context 'when partitioned is true' do + let(:partitioned) { true } + + it { expect(ci_model.ancestors).to include(described_class::PartitionedFilter) } + it { expect(ci_model).to be_partitioned } + end + + context 'when partitioned is false' do + let(:partitioned) { false } + + it { expect(ci_model.ancestors).not_to include(described_class::PartitionedFilter) } + + it { expect(ci_model).not_to be_partitioned } + end + end end |