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

Use `resource` in Project Variables routing scheme

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