diff options
author | Matija Čupić <matteeyah@gmail.com> | 2018-02-02 20:54:13 +0300 |
---|---|---|
committer | Matija Čupić <matteeyah@gmail.com> | 2018-02-05 20:58:21 +0300 |
commit | 45a14b4f584dd1102bd81c560e4d2e7c4b34aea5 (patch) | |
tree | 3fd98420ce8a29313dd20f321d9e1a22dddd62e0 /spec/controllers/projects | |
parent | 18232d7efb53381dea8727c36fc7a36dd2fd9d5e (diff) |
Refactor Variable controllers specs
Diffstat (limited to 'spec/controllers/projects')
-rw-r--r-- | spec/controllers/projects/variables_controller_spec.rb | 46 |
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) |