Commit 5de224e3 authored by Matija Čupić's avatar Matija Čupić

Extract context in JobsController spec

parent c1a098c7
...@@ -398,57 +398,59 @@ describe Projects::JobsController, :clean_gitlab_redis_shared_state do ...@@ -398,57 +398,59 @@ describe Projects::JobsController, :clean_gitlab_redis_shared_state do
end end
end end
context 'with variables and user is a maintainer' do context 'with variables' do
before do before do
project.add_maintainer(user)
create(:ci_pipeline_variable, pipeline: pipeline, key: :TRIGGER_KEY_1, value: 'TRIGGER_VALUE_1') create(:ci_pipeline_variable, pipeline: pipeline, key: :TRIGGER_KEY_1, value: 'TRIGGER_VALUE_1')
get_show(id: job.id, format: :json)
@first_variable = json_response['trigger']['variables'].first
end end
it 'returns a job_detail' do context 'user is a maintainer' do
expect(response).to have_gitlab_http_status(:ok) before do
expect(response).to match_response_schema('job/job_details') project.add_maintainer(user)
end
it 'exposes trigger information and variables' do get_show(id: job.id, format: :json)
expect(json_response['trigger']['short_token']).to eq 'toke' end
expect(json_response['trigger']['variables'].length).to eq 1
end
it 'exposes correct variable properties' do it 'returns a job_detail' do
expect(@first_variable['key']).to eq "TRIGGER_KEY_1" expect(response).to have_gitlab_http_status(:ok)
expect(@first_variable['value']).to eq "TRIGGER_VALUE_1" expect(response).to match_response_schema('job/job_details')
expect(@first_variable['public']).to eq false end
end
end
context 'with variables and user is not a mantainer' do it 'exposes trigger information and variables' do
before do expect(json_response['trigger']['short_token']).to eq 'toke'
create(:ci_pipeline_variable, pipeline: pipeline, key: :TRIGGER_KEY_1, value: 'TRIGGER_VALUE_1') expect(json_response['trigger']['variables'].length).to eq 1
end
get_show(id: job.id, format: :json) it 'exposes correct variable properties' do
first_variable = json_response['trigger']['variables'].first
@first_variable = json_response['trigger']['variables'].first expect(first_variable['key']).to eq "TRIGGER_KEY_1"
expect(first_variable['value']).to eq "TRIGGER_VALUE_1"
expect(first_variable['public']).to eq false
end
end end
it 'returns a job_detail' do context 'user is not a mantainer' do
expect(response).to have_gitlab_http_status(:ok) before do
expect(response).to match_response_schema('job/job_details') get_show(id: job.id, format: :json)
end end
it 'exposes trigger information and variables' do it 'returns a job_detail' do
expect(json_response['trigger']['short_token']).to eq 'toke' expect(response).to have_gitlab_http_status(:ok)
expect(json_response['trigger']['variables'].length).to eq 1 expect(response).to match_response_schema('job/job_details')
end end
it 'exposes correct variable properties' do it 'exposes trigger information and variables' do
expect(@first_variable['key']).to eq "TRIGGER_KEY_1" expect(json_response['trigger']['short_token']).to eq 'toke'
expect(@first_variable['value']).to be_nil expect(json_response['trigger']['variables'].length).to eq 1
expect(@first_variable['public']).to eq false end
it 'exposes correct variable properties' do
first_variable = json_response['trigger']['variables'].first
expect(first_variable['key']).to eq "TRIGGER_KEY_1"
expect(first_variable['value']).to be_nil
expect(first_variable['public']).to eq false
end
end end
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