diff options
author | Dylan Griffith <dyl.griffith@gmail.com> | 2018-08-16 16:24:25 +0300 |
---|---|---|
committer | Kamil TrzciĆski <ayufan@ayufan.eu> | 2018-08-16 16:24:25 +0300 |
commit | 555cdadee69cb65768cd3655830f980194e9e607 (patch) | |
tree | bd9740d8b98461d417e7ee87a0d5ade423279304 /spec/models/project_spec.rb | |
parent | ce18246c24040444646884a6a13e472ae83f74ee (diff) |
Resolve "Enable Auto DevOps instance-wide on GitLab.com"
Diffstat (limited to 'spec/models/project_spec.rb')
-rw-r--r-- | spec/models/project_spec.rb | 48 |
1 files changed, 32 insertions, 16 deletions
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index 076de06cf99..d8a5e5f6869 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -3259,6 +3259,11 @@ describe Project do end describe '#auto_devops_enabled?' do + before do + allow(Feature).to receive(:enabled?).and_call_original + Feature.get(:force_autodevops_on_by_default).enable_percentage_of_actors(0) + end + set(:project) { create(:project) } subject { project.auto_devops_enabled? } @@ -3268,19 +3273,14 @@ describe Project do stub_application_setting(auto_devops_enabled: true) end - it 'auto devops is implicitly enabled' do - expect(project.auto_devops).to be_nil - expect(project).to be_auto_devops_enabled - end + it { is_expected.to be_truthy } context 'when explicitly enabled' do before do create(:project_auto_devops, project: project) end - it "auto devops is enabled" do - expect(project).to be_auto_devops_enabled - end + it { is_expected.to be_truthy } end context 'when explicitly disabled' do @@ -3288,9 +3288,7 @@ describe Project do create(:project_auto_devops, project: project, enabled: false) end - it "auto devops is disabled" do - expect(project).not_to be_auto_devops_enabled - end + it { is_expected.to be_falsey } end end @@ -3299,19 +3297,22 @@ describe Project do stub_application_setting(auto_devops_enabled: false) end - it 'auto devops is implicitly disabled' do - expect(project.auto_devops).to be_nil - expect(project).not_to be_auto_devops_enabled - end + it { is_expected.to be_falsey } context 'when explicitly enabled' do before do create(:project_auto_devops, project: project) end - it "auto devops is enabled" do - expect(project).to be_auto_devops_enabled + it { is_expected.to be_truthy } + end + + context 'when force_autodevops_on_by_default is enabled for the project' do + before do + Feature.get(:force_autodevops_on_by_default).enable_percentage_of_actors(100) end + + it { is_expected.to be_truthy } end end end @@ -3361,6 +3362,11 @@ describe Project do end describe '#has_auto_devops_implicitly_disabled?' do + before do + allow(Feature).to receive(:enabled?).and_call_original + Feature.get(:force_autodevops_on_by_default).enable_percentage_of_actors(0) + end + set(:project) { create(:project) } context 'when enabled in settings' do @@ -3382,6 +3388,16 @@ describe Project do expect(project).to have_auto_devops_implicitly_disabled end + context 'when force_autodevops_on_by_default is enabled for the project' do + before do + Feature.get(:force_autodevops_on_by_default).enable_percentage_of_actors(100) + end + + it 'does not have auto devops implicitly disabled' do + expect(project).not_to have_auto_devops_implicitly_disabled + end + end + context 'when explicitly disabled' do before do create(:project_auto_devops, project: project, enabled: false) |