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
|
||||
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|
|
||||
format.json do
|
||||
return head :ok if @group.update(variables_params)
|
||||
|
|
|
@ -11,11 +11,11 @@ module Ci
|
|||
end
|
||||
|
||||
def edit_path
|
||||
group_variables_save_multiple_path(group)
|
||||
group_variables_path(group)
|
||||
end
|
||||
|
||||
def delete_path
|
||||
group_variables_save_multiple_path(group)
|
||||
group_variables_path(group)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -27,9 +27,7 @@ constraints(GroupUrlConstrainer.new) do
|
|||
resource :ci_cd, only: [:show], controller: 'ci_cd'
|
||||
end
|
||||
|
||||
namespace :variables do
|
||||
post :save_multiple
|
||||
end
|
||||
resource :variables, only: [:show, :update]
|
||||
|
||||
resources :children, only: [:index]
|
||||
|
||||
|
|
|
@ -9,12 +9,26 @@ describe Groups::VariablesController do
|
|||
group.add_master(user)
|
||||
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) }
|
||||
|
||||
context 'with invalid new variable parameters' do
|
||||
subject do
|
||||
post :save_multiple,
|
||||
post :update,
|
||||
group_id: group,
|
||||
variables_attributes: [{ id: variable.id, key: variable.key,
|
||||
value: 'other_value',
|
||||
|
@ -41,7 +55,7 @@ describe Groups::VariablesController do
|
|||
|
||||
context 'with valid new variable parameters' do
|
||||
subject do
|
||||
post :save_multiple,
|
||||
post :update,
|
||||
group_id: group,
|
||||
variables_attributes: [{ id: variable.id, key: variable.key,
|
||||
value: 'other_value',
|
||||
|
@ -68,7 +82,7 @@ describe Groups::VariablesController do
|
|||
|
||||
context 'with a deleted variable' do
|
||||
subject do
|
||||
post :save_multiple,
|
||||
post :update,
|
||||
group_id: group,
|
||||
variables_attributes: [{ id: variable.id, key: variable.key,
|
||||
value: variable.value,
|
||||
|
|
|
@ -43,12 +43,12 @@ describe Ci::GroupVariablePresenter do
|
|||
describe '#edit_path' do
|
||||
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
|
||||
|
||||
describe '#delete_path' do
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue