diff options
author | Z.J. van de Weg <git@zjvandeweg.nl> | 2016-11-18 10:00:40 +0100 |
---|---|---|
committer | Z.J. van de Weg <git@zjvandeweg.nl> | 2016-11-18 10:00:40 +0100 |
commit | 0d04724fa1cd670124b8ad9a3860bfa476c50f99 (patch) | |
tree | fc8b96d32eda2bfe9633fa0eff1569237e4d454e /spec/requests/api | |
parent | 778b5a5a04c4861c84408c944fa8dc01411cbf55 (diff) | |
download | gitlab-ce-0d04724fa1cd670124b8ad9a3860bfa476c50f99.tar.gz |
More coverage on service level
Diffstat (limited to 'spec/requests/api')
-rw-r--r-- | spec/requests/api/services_spec.rb | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/spec/requests/api/services_spec.rb b/spec/requests/api/services_spec.rb index 2aadab3cbe1..fb234ab8ed1 100644 --- a/spec/requests/api/services_spec.rb +++ b/spec/requests/api/services_spec.rb @@ -88,4 +88,50 @@ describe API::API, api: true do end end end + + describe 'POST /projects/:id/services/:slug/trigger' do + let!(:project) { create(:empty_project) } + let(:service_name) { 'mattermost_command' } + + context 'no service is available' do + it 'returns a not found message' do + post api("/projects/#{project.id}/services/mattermost_command/trigger") + + expect(response).to have_http_status(404) + end + end + + context 'the service exists' do + context 'the service is not active' do + let!(:inactive_service) do + project.create_mattermost_command_service( + active: false, + properties: { token: 'token' } + ) + end + + it 'when the service is inactive' do + post api("/projects/#{project.id}/services/mattermost_command/trigger") + + expect(response).to have_http_status(404) + end + end + + context 'the service is active' do + let!(:active_service) do + project.create_mattermost_command_service( + active: true, + properties: { token: 'token' } + ) + end + let(:params) { { token: 'token' } } + + it 'retusn status 200' do + post api("/projects/#{project.id}/services/mattermost_command/trigger"), params + + expect(response).to have_http_status(200) + end + end + end + end end |