summaryrefslogtreecommitdiff
path: root/spec/requests/api
diff options
context:
space:
mode:
authorZ.J. van de Weg <git@zjvandeweg.nl>2016-11-18 10:00:40 +0100
committerZ.J. van de Weg <git@zjvandeweg.nl>2016-11-18 10:00:40 +0100
commit0d04724fa1cd670124b8ad9a3860bfa476c50f99 (patch)
treefc8b96d32eda2bfe9633fa0eff1569237e4d454e /spec/requests/api
parent778b5a5a04c4861c84408c944fa8dc01411cbf55 (diff)
downloadgitlab-ce-0d04724fa1cd670124b8ad9a3860bfa476c50f99.tar.gz
More coverage on service level
Diffstat (limited to 'spec/requests/api')
-rw-r--r--spec/requests/api/services_spec.rb46
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