Use resource
in Group Variables routing scheme
This commit is contained in:
parent
0bfcdd66bf
commit
a8887a0d9c
5 changed files with 35 additions and 12 deletions
|
@ -2,7 +2,18 @@ module Groups
|
||||||
class VariablesController < Groups::ApplicationController
|
class VariablesController < Groups::ApplicationController
|
||||||
before_action :authorize_admin_build!
|
before_action :authorize_admin_build!
|
||||||
|
|
||||||
def save_multiple
|
def show
|
||||||
|
respond_to do |format|
|
||||||
|
format.json do
|
||||||
|
variables = @group.variables
|
||||||
|
.map { |variable| variable.present(current_user: current_user) }
|
||||||
|
|
||||||
|
render status: :ok, json: { variables: variables }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def update
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.json do
|
format.json do
|
||||||
return head :ok if @group.update(variables_params)
|
return head :ok if @group.update(variables_params)
|
||||||
|
|
|
@ -11,11 +11,11 @@ module Ci
|
||||||
end
|
end
|
||||||
|
|
||||||
def edit_path
|
def edit_path
|
||||||
group_variables_save_multiple_path(group)
|
group_variables_path(group)
|
||||||
end
|
end
|
||||||
|
|
||||||
def delete_path
|
def delete_path
|
||||||
group_variables_save_multiple_path(group)
|
group_variables_path(group)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -27,9 +27,7 @@ constraints(GroupUrlConstrainer.new) do
|
||||||
resource :ci_cd, only: [:show], controller: 'ci_cd'
|
resource :ci_cd, only: [:show], controller: 'ci_cd'
|
||||||
end
|
end
|
||||||
|
|
||||||
namespace :variables do
|
resource :variables, only: [:show, :update]
|
||||||
post :save_multiple
|
|
||||||
end
|
|
||||||
|
|
||||||
resources :children, only: [:index]
|
resources :children, only: [:index]
|
||||||
|
|
||||||
|
|
|
@ -9,12 +9,26 @@ describe Groups::VariablesController do
|
||||||
group.add_master(user)
|
group.add_master(user)
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'POST #save_multiple' do
|
describe 'GET #show' do
|
||||||
|
let!(:variable) { create(:ci_group_variable, group: group) }
|
||||||
|
|
||||||
|
subject do
|
||||||
|
get :show, group_id: group, format: :json
|
||||||
|
end
|
||||||
|
|
||||||
|
it 'renders the ci_variable as json' do
|
||||||
|
subject
|
||||||
|
|
||||||
|
expect(response.body).to include(variable.to_json)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe 'POST #update' do
|
||||||
let!(:variable) { create(:ci_group_variable, group: group) }
|
let!(:variable) { create(:ci_group_variable, group: group) }
|
||||||
|
|
||||||
context 'with invalid new variable parameters' do
|
context 'with invalid new variable parameters' do
|
||||||
subject do
|
subject do
|
||||||
post :save_multiple,
|
post :update,
|
||||||
group_id: group,
|
group_id: group,
|
||||||
variables_attributes: [{ id: variable.id, key: variable.key,
|
variables_attributes: [{ id: variable.id, key: variable.key,
|
||||||
value: 'other_value',
|
value: 'other_value',
|
||||||
|
@ -41,7 +55,7 @@ describe Groups::VariablesController do
|
||||||
|
|
||||||
context 'with valid new variable parameters' do
|
context 'with valid new variable parameters' do
|
||||||
subject do
|
subject do
|
||||||
post :save_multiple,
|
post :update,
|
||||||
group_id: group,
|
group_id: group,
|
||||||
variables_attributes: [{ id: variable.id, key: variable.key,
|
variables_attributes: [{ id: variable.id, key: variable.key,
|
||||||
value: 'other_value',
|
value: 'other_value',
|
||||||
|
@ -68,7 +82,7 @@ describe Groups::VariablesController do
|
||||||
|
|
||||||
context 'with a deleted variable' do
|
context 'with a deleted variable' do
|
||||||
subject do
|
subject do
|
||||||
post :save_multiple,
|
post :update,
|
||||||
group_id: group,
|
group_id: group,
|
||||||
variables_attributes: [{ id: variable.id, key: variable.key,
|
variables_attributes: [{ id: variable.id, key: variable.key,
|
||||||
value: variable.value,
|
value: variable.value,
|
||||||
|
|
|
@ -43,12 +43,12 @@ describe Ci::GroupVariablePresenter do
|
||||||
describe '#edit_path' do
|
describe '#edit_path' do
|
||||||
subject { described_class.new(variable).edit_path }
|
subject { described_class.new(variable).edit_path }
|
||||||
|
|
||||||
it { is_expected.to eq(group_variables_save_multiple_path(group)) }
|
it { is_expected.to eq(group_variables_path(group)) }
|
||||||
end
|
end
|
||||||
|
|
||||||
describe '#delete_path' do
|
describe '#delete_path' do
|
||||||
subject { described_class.new(variable).delete_path }
|
subject { described_class.new(variable).delete_path }
|
||||||
|
|
||||||
it { is_expected.to eq(group_variables_save_multiple_path(group)) }
|
it { is_expected.to eq(group_variables_path(group)) }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue