Commit 6afa4c7e authored by Adrien Kohlbecker's avatar Adrien Kohlbecker

Fix case in toggle_shared_runners

parent 4e11f409
......@@ -50,7 +50,9 @@ class Projects::RunnersController < Projects::ApplicationController
end
def toggle_shared_runners
return redirect_to project_runners_path(@project), alert: _("Can't update due to restriction on group level") if project.group && project.group.shared_runners_setting != 'enabled'
if !project.shared_runners_enabled && project.group && project.group.shared_runners_setting == 'disabled_and_unoverridable'
return redirect_to project_runners_path(@project), alert: _("Cannot enable shared runners because parent group does not allow it")
end
project.toggle!(:shared_runners_enabled)
......
......@@ -4509,9 +4509,6 @@ msgstr ""
msgid "Can't scan the code?"
msgstr ""
msgid "Can't update due to restriction on group level"
msgstr ""
msgid "Can't update snippet: %{err}"
msgstr ""
......@@ -4551,6 +4548,9 @@ msgstr ""
msgid "Cannot create the abuse report. This user has been blocked."
msgstr ""
msgid "Cannot enable shared runners because parent group does not allow it"
msgstr ""
msgid "Cannot have multiple Jira imports running at the same time"
msgstr ""
......
......@@ -78,7 +78,7 @@ RSpec.describe Projects::RunnersController do
let(:group) { create(:group) }
let(:project) { create(:project, group: group) }
it 'toggles shared_runners_enabled' do
it 'toggles shared_runners_enabled when the group allows shared runners' do
project.update!(shared_runners_enabled: true)
post :toggle_shared_runners, params: params
......@@ -89,8 +89,20 @@ RSpec.describe Projects::RunnersController do
expect(project.shared_runners_enabled).to eq(false)
end
it 'toggles shared_runners_enabled when the group disallows shared runners but allows overrides' do
group.update!(shared_runners_enabled: false, allow_descendants_override_disabled_shared_runners: true)
project.update!(shared_runners_enabled: false)
post :toggle_shared_runners, params: params
project.reload
expect(response).to have_gitlab_http_status(:found)
expect(project.shared_runners_enabled).to eq(true)
end
it 'does not enable if the group disallows shared runners' do
group.update!(shared_runners_enabled: false)
group.update!(shared_runners_enabled: false, allow_descendants_override_disabled_shared_runners: false)
project.update!(shared_runners_enabled: false)
post :toggle_shared_runners, params: params
......@@ -99,7 +111,7 @@ RSpec.describe Projects::RunnersController do
expect(response).to have_gitlab_http_status(:found)
expect(project.shared_runners_enabled).to eq(false)
expect(flash[:alert]).to eq("Can't update due to restriction on group level")
expect(flash[:alert]).to eq("Cannot enable shared runners because parent group does not allow it")
end
end
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment