diff options
author | Z.J. van de Weg <zegerjan@gitlab.com> | 2016-07-29 12:14:36 +0200 |
---|---|---|
committer | Z.J. van de Weg <zegerjan@gitlab.com> | 2016-07-29 20:35:38 +0200 |
commit | 1b72256fa14e65256d78347f81b289d43c44e991 (patch) | |
tree | 923e3597ad8b0199d77f57331bd44e7b81251bdd /spec/requests/api/environments_spec.rb | |
parent | 76e9b68439510af5c783a81b93944f1c8d96d150 (diff) | |
download | gitlab-ce-1b72256fa14e65256d78347f81b289d43c44e991.tar.gz |
Use Grape DSL for environment endpoints
Also a couple of minor edits for this branch are included
Diffstat (limited to 'spec/requests/api/environments_spec.rb')
-rw-r--r-- | spec/requests/api/environments_spec.rb | 57 |
1 files changed, 34 insertions, 23 deletions
diff --git a/spec/requests/api/environments_spec.rb b/spec/requests/api/environments_spec.rb index b731c58a206..d315e456dda 100644 --- a/spec/requests/api/environments_spec.rb +++ b/spec/requests/api/environments_spec.rb @@ -14,7 +14,7 @@ describe API::API, api: true do describe 'GET /projects/:id/environments' do context 'as member of the project' do - it 'should return project environments' do + it 'returns project environments' do get api("/projects/#{project.id}/environments", user) expect(response).to have_http_status(200) @@ -26,7 +26,7 @@ describe API::API, api: true do end context 'as non member' do - it 'should return a 404 status code' do + it 'returns a 404 status code' do get api("/projects/#{project.id}/environments", non_member) expect(response).to have_http_status(404) @@ -50,7 +50,7 @@ describe API::API, api: true do expect(response).to have_http_status(400) end - it 'should return 400 if environment already exists' do + it 'returns a 400 if environment already exists' do post api("/projects/#{project.id}/environments", user), name: environment.name expect(response).to have_http_status(400) @@ -61,42 +61,53 @@ describe API::API, api: true do it 'rejects the request' do post api("/projects/#{project.id}/environments", non_member) - expect(response).to have_http_status(404) + expect(response).to have_http_status(400) end end end - describe 'DELETE /projects/:id/environments/:environment_id' do - context 'as a master' do - it 'should return 200 for an existing environment' do - delete api("/projects/#{project.id}/environments/#{environment.id}", user) - - expect(response).to have_http_status(200) - end - - it 'should return 404 for non existing id' do - delete api("/projects/#{project.id}/environments/12345", user) + describe 'PUT /projects/:id/environments/:environment_id' do + it 'returns a 200 if name and external_url are changed' do + url = 'https://mepmep.whatever.ninja' + put api("/projects/#{project.id}/environments/#{environment.id}", user), + name: 'Mepmep', external_url: url - expect(response).to have_http_status(404) - expect(json_response['message']).to eq('404 Not found') - end + expect(response).to have_http_status(200) + expect(json_response['name']).to eq('Mepmep') + expect(json_response['external_url']).to eq(url) end - end - describe 'PUT /projects/:id/environments/:environment_id' do - it 'should return 200 if name and external_url are changed' do + it "won't update the external_url if only the name is passed" do + url = environment.external_url put api("/projects/#{project.id}/environments/#{environment.id}", user), - name: 'Mepmep', external_url: 'https://mepmep.whatever.ninja' + name: 'Mepmep' expect(response).to have_http_status(200) expect(json_response['name']).to eq('Mepmep') - expect(json_response['external_url']).to eq('https://mepmep.whatever.ninja') + expect(json_response['external_url']).to eq(url) end - it 'should return 404 if the environment does not exist' do + it 'returns a 404 if the environment does not exist' do put api("/projects/#{project.id}/environments/12345", user) expect(response).to have_http_status(404) end end + + describe 'DELETE /projects/:id/environments/:environment_id' do + context 'as a master' do + it 'returns a 200 for an existing environment' do + delete api("/projects/#{project.id}/environments/#{environment.id}", user) + + expect(response).to have_http_status(200) + end + + it 'returns a 404 for non existing id' do + delete api("/projects/#{project.id}/environments/12345", user) + + expect(response).to have_http_status(404) + expect(json_response['message']).to eq('404 Not found') + end + end + end end |