Commit 0bfcdd66 authored by Matija Čupić's avatar Matija Čupić

Use `resource` in Project Variables routing scheme

parent 6b82a9ef
class Projects::VariablesController < Projects::ApplicationController class Projects::VariablesController < Projects::ApplicationController
before_action :authorize_admin_build! before_action :authorize_admin_build!
def save_multiple def show
respond_to do |format|
format.json do
variables = @project.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 @project.update(variables_params) return head :ok if @project.update(variables_params)
......
...@@ -11,11 +11,11 @@ module Ci ...@@ -11,11 +11,11 @@ module Ci
end end
def edit_path def edit_path
project_variables_save_multiple_path(project) project_variables_path(project)
end end
def delete_path def delete_path
project_variables_save_multiple_path(project) project_variables_path(project)
end end
end end
end end
...@@ -156,9 +156,7 @@ constraints(ProjectUrlConstrainer.new) do ...@@ -156,9 +156,7 @@ constraints(ProjectUrlConstrainer.new) do
end end
end end
namespace :variables do resource :variables, only: [:show, :update]
post :save_multiple
end
resources :triggers, only: [:index, :create, :edit, :update, :destroy] do resources :triggers, only: [:index, :create, :edit, :update, :destroy] do
member do member do
......
...@@ -9,7 +9,26 @@ describe Projects::VariablesController do ...@@ -9,7 +9,26 @@ describe Projects::VariablesController do
project.add_master(user) project.add_master(user)
end end
describe 'POST #save_multiple' do describe 'GET #show' do
let(:variable) { create(:ci_variable) }
before do
project.variables << variable
end
subject do
get :show, namespace_id: project.namespace.to_param, project_id: project,
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_variable) } let(:variable) { create(:ci_variable) }
before do before do
...@@ -18,7 +37,7 @@ describe Projects::VariablesController do ...@@ -18,7 +37,7 @@ describe Projects::VariablesController do
context 'with invalid new variable parameters' do context 'with invalid new variable parameters' do
subject do subject do
post :save_multiple, post :update,
namespace_id: project.namespace.to_param, project_id: project, namespace_id: project.namespace.to_param, project_id: project,
variables_attributes: [{ id: variable.id, key: variable.key, variables_attributes: [{ id: variable.id, key: variable.key,
value: 'other_value', value: 'other_value',
...@@ -45,7 +64,7 @@ describe Projects::VariablesController do ...@@ -45,7 +64,7 @@ describe Projects::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,
namespace_id: project.namespace.to_param, project_id: project, namespace_id: project.namespace.to_param, project_id: project,
variables_attributes: [{ id: variable.id, key: variable.key, variables_attributes: [{ id: variable.id, key: variable.key,
value: 'other_value', value: 'other_value',
...@@ -72,7 +91,7 @@ describe Projects::VariablesController do ...@@ -72,7 +91,7 @@ describe Projects::VariablesController do
context 'with a deleted variable' do context 'with a deleted variable' do
subject do subject do
post :save_multiple, post :update,
namespace_id: project.namespace.to_param, project_id: project, namespace_id: project.namespace.to_param, project_id: project,
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::VariablePresenter do ...@@ -43,12 +43,12 @@ describe Ci::VariablePresenter 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(project_variables_save_multiple_path(project)) } it { is_expected.to eq(project_variables_path(project)) }
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(project_variables_save_multiple_path(project)) } it { is_expected.to eq(project_variables_path(project)) }
end 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