OSDN Git Service

e2fd945bad3259aa3ad4614902004e61ef899db3
[wvm/gitlab.git] / spec / requests / api / services_spec.rb
1 require "spec_helper"
2
3 describe API::API do
4   include ApiHelpers
5   before(:each) { ActiveRecord::Base.observers.enable(:user_observer) }
6   after(:each) { ActiveRecord::Base.observers.disable(:user_observer) }
7
8   let(:user) { create(:user) }
9   let(:project) {create(:project_with_code, creator_id: user.id, namespace: user.namespace) }
10
11   describe "POST /projects/:id/services/gitlab-ci" do
12     it "should update gitlab-ci settings" do
13       put api("/projects/#{project.id}/services/gitlab-ci", user), token: 'secret-token', project_url: "http://ci.example.com/projects/1"
14
15       response.status.should == 200
16     end
17
18     it "should return if required fields missing" do
19       put api("/projects/#{project.id}/services/gitlab-ci", user), project_url: "http://ci.example.com/projects/1", active: true
20
21       response.status.should == 400
22     end
23   end
24
25   describe "DELETE /projects/:id/services/gitlab-ci" do
26     it "should update gitlab-ci settings" do
27       delete api("/projects/#{project.id}/services/gitlab-ci", user)
28
29       response.status.should == 200
30       project.gitlab_ci_service.should be_nil
31     end
32   end
33 end