summaryrefslogtreecommitdiff
path: root/spec/services/ci/web_hook_service_spec.rb
blob: cebdd145e40a948179f85927b432f45bfe8fd27a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
require 'spec_helper'

describe Ci::WebHookService do
  let(:project) { FactoryGirl.create :ci_project }
  let(:commit)  { FactoryGirl.create :ci_commit, project: project }
  let(:build)   { FactoryGirl.create :ci_build, commit: commit }
  let(:hook)    { FactoryGirl.create :ci_web_hook, project: project }

  describe :execute do
    it "should execute successfully" do
      stub_request(:post, hook.url).to_return(status: 200)
      expect(Ci::WebHookService.new.build_end(build)).to be_truthy
    end
  end

  context 'build_data' do
    it "contains all needed fields" do
      expect(build_data(build)).to include(
        :build_id,
        :project_id,
        :ref,
        :build_status,
        :build_started_at,
        :build_finished_at,
        :before_sha,
        :project_name,
        :gitlab_url,
        :build_name
      )
    end
  end

  def build_data(build)
    Ci::WebHookService.new.send :build_data, build
  end
end