Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatija Čupić <matteeyah@gmail.com>2018-02-02 20:54:13 +0300
committerMatija Čupić <matteeyah@gmail.com>2018-02-05 20:58:21 +0300
commit45a14b4f584dd1102bd81c560e4d2e7c4b34aea5 (patch)
tree3fd98420ce8a29313dd20f321d9e1a22dddd62e0 /spec/controllers/projects
parent18232d7efb53381dea8727c36fc7a36dd2fd9d5e (diff)
Refactor Variable controllers specs
Diffstat (limited to 'spec/controllers/projects')
-rw-r--r--spec/controllers/projects/variables_controller_spec.rb46
1 files changed, 24 insertions, 22 deletions
diff --git a/spec/controllers/projects/variables_controller_spec.rb b/spec/controllers/projects/variables_controller_spec.rb
index 0082757a5c6..d2cb3dd9453 100644
--- a/spec/controllers/projects/variables_controller_spec.rb
+++ b/spec/controllers/projects/variables_controller_spec.rb
@@ -17,8 +17,7 @@ describe Projects::VariablesController do
end
subject do
- get :show, namespace_id: project.namespace.to_param, project_id: project,
- format: :json
+ get :show, namespace_id: project.namespace.to_param, project_id: project, format: :json
end
it 'renders the ci_variable as json' do
@@ -30,13 +29,23 @@ describe Projects::VariablesController do
describe 'POST #update' do
let(:variable) { create(:ci_variable) }
+
+ subject do
+ patch :update,
+ namespace_id: project.namespace.to_param, project_id: project,
+ variables_attributes: variables_attributes,
+ format: :json
+ end
+
let(:variable_attributes) do
- { id: variable.id, key: variable.key,
+ { id: variable.id,
+ key: variable.key,
value: variable.value,
protected: variable.protected?.to_s }
end
let(:new_variable_attributes) do
- { key: 'new_key', value: 'dummy_value',
+ { key: 'new_key',
+ value: 'dummy_value',
protected: 'false' }
end
@@ -45,12 +54,11 @@ describe Projects::VariablesController do
end
context 'with invalid new variable parameters' do
- subject do
- patch :update,
- namespace_id: project.namespace.to_param, project_id: project,
- variables_attributes: [variable_attributes.merge(value: 'other_value'),
- new_variable_attributes.merge(key: '..?')],
- format: :json
+ let(:variables_attributes) do
+ [
+ variable_attributes.merge(value: 'other_value'),
+ new_variable_attributes.merge(key: '...?')
+ ]
end
it 'does not update the existing variable' do
@@ -69,12 +77,11 @@ describe Projects::VariablesController do
end
context 'with valid new variable parameters' do
- subject do
- patch :update,
- namespace_id: project.namespace.to_param, project_id: project,
- variables_attributes: [variable_attributes.merge(value: 'other_value'),
- new_variable_attributes],
- format: :json
+ let(:variables_attributes) do
+ [
+ variable_attributes.merge(value: 'other_value'),
+ new_variable_attributes
+ ]
end
it 'updates the existing variable' do
@@ -99,12 +106,7 @@ describe Projects::VariablesController do
end
context 'with a deleted variable' do
- subject do
- patch :update,
- namespace_id: project.namespace.to_param, project_id: project,
- variables_attributes: [variable_attributes.merge(_destroy: 'true')],
- format: :json
- end
+ let(:variables_attributes) { [variable_attributes.merge(_destroy: 'true')] }
it 'destroys the variable' do
expect { subject }.to change { project.variables.count }.by(-1)