summaryrefslogtreecommitdiff
path: root/spec/services/web_hook_service_spec.rb
blob: fae6d5a60a53b5c3d578e1530e2da59588ad5691 (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 WebHookService do
  let (:project) { FactoryGirl.create :project }
  let (:commit)  { FactoryGirl.create :commit, project: project }
  let (:build)   { FactoryGirl.create :build, commit: commit }
  let (:hook)    { FactoryGirl.create :web_hook, project: project }

  describe '#execute' do
    it "should execute successfully" do
      stub_request(:post, hook.url).to_return(status: 200)
      described_class.new.build_end(build).should be_truthy
    end
  end

  context 'build_data' do
    it "contains all needed fields" do
      build_data(build).should 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)
    described_class.new.send :build_data, build
  end
end