diff options
author | Dylan Griffith <dyl.griffith@gmail.com> | 2018-08-14 15:27:13 +0100 |
---|---|---|
committer | Dylan Griffith <dyl.griffith@gmail.com> | 2018-08-14 15:27:13 +0100 |
commit | 515245c27d7a323c371831e9408149175c1292ef (patch) | |
tree | 5bbc76f148a16fc0447ad4cafca8797aaf878f42 | |
parent | 538abe7b6316042004a4546b7928f7d6d9c5436a (diff) | |
download | gitlab-ce-515245c27d7a323c371831e9408149175c1292ef.tar.gz |
Handle feature flag logic in Project#has_auto_devops_implicitly_disabled?
-rw-r--r-- | app/models/project.rb | 2 | ||||
-rw-r--r-- | spec/models/project_spec.rb | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/app/models/project.rb b/app/models/project.rb index 5d8e31ca565..94c1d60f071 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -532,7 +532,7 @@ class Project < ActiveRecord::Base end def has_auto_devops_implicitly_disabled? - auto_devops&.enabled.nil? && !Gitlab::CurrentSettings.auto_devops_enabled? + auto_devops&.enabled.nil? && !(Gitlab::CurrentSettings.auto_devops_enabled? || Feature.enabled?(:force_autodevops_on_by_default, self)) end def empty_repo? diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb index d15d4b1406e..d8a5e5f6869 100644 --- a/spec/models/project_spec.rb +++ b/spec/models/project_spec.rb @@ -3362,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 @@ -3383,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) |