summaryrefslogtreecommitdiff
path: root/spec/requests/api/services_spec.rb
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-10-29 16:39:46 +0200
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2013-10-29 16:39:46 +0200
commitd636ad49bfba59499e45b445ca7e137e83613d8b (patch)
tree4f825ec920e898f2749c144992eff903887cc763 /spec/requests/api/services_spec.rb
parentd71914ca230ce83fe1d908d31fb11667a9539304 (diff)
downloadgitlab-ce-d636ad49bfba59499e45b445ca7e137e83613d8b.tar.gz
API: set gitlab-ci service for project
Diffstat (limited to 'spec/requests/api/services_spec.rb')
-rw-r--r--spec/requests/api/services_spec.rb33
1 files changed, 33 insertions, 0 deletions
diff --git a/spec/requests/api/services_spec.rb b/spec/requests/api/services_spec.rb
new file mode 100644
index 00000000000..e2fd945bad3
--- /dev/null
+++ b/spec/requests/api/services_spec.rb
@@ -0,0 +1,33 @@
+require "spec_helper"
+
+describe API::API do
+ include ApiHelpers
+ before(:each) { ActiveRecord::Base.observers.enable(:user_observer) }
+ after(:each) { ActiveRecord::Base.observers.disable(:user_observer) }
+
+ let(:user) { create(:user) }
+ let(:project) {create(:project_with_code, creator_id: user.id, namespace: user.namespace) }
+
+ describe "POST /projects/:id/services/gitlab-ci" do
+ it "should update gitlab-ci settings" do
+ put api("/projects/#{project.id}/services/gitlab-ci", user), token: 'secret-token', project_url: "http://ci.example.com/projects/1"
+
+ response.status.should == 200
+ end
+
+ it "should return if required fields missing" do
+ put api("/projects/#{project.id}/services/gitlab-ci", user), project_url: "http://ci.example.com/projects/1", active: true
+
+ response.status.should == 400
+ end
+ end
+
+ describe "DELETE /projects/:id/services/gitlab-ci" do
+ it "should update gitlab-ci settings" do
+ delete api("/projects/#{project.id}/services/gitlab-ci", user)
+
+ response.status.should == 200
+ project.gitlab_ci_service.should be_nil
+ end
+ end
+end