summaryrefslogtreecommitdiff
path: root/spec/controllers/projects_controller_spec.rb
blob: b3d5eac275490762faa77a47b939f46a19cfcd95 (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
37
38
39
40
41
42
43
44
require "spec_helper"

describe ProjectsController do
  before do
    @project = FactoryGirl.create :project
  end

  describe "POST #build" do
    it 'should respond 200 if params is ok' do
      post :build, id: @project.id,
        ref: 'master',
        before: '2aa371379db71ac89ae20843fcff3b3477cf1a1d',
        after: '1c8a9df454ef68c22c2a33cca8232bb50849e5c5',
        token: @project.token


      expect(response).to be_success
      expect(response.code).to eq('201')
    end

    it 'should respond 400 if push about removed branch' do
      post :build, id: @project.id,
        ref: 'master',
        before: '2aa371379db71ac89ae20843fcff3b3477cf1a1d',
        after: '0000000000000000000000000000000000000000',
        token: @project.token

      expect(response).not_to be_success
      expect(response.code).to eq('400')
    end

    it 'should respond 400 if some params missed' do
      post :build, id: @project.id, token: @project.token
      expect(response).not_to be_success
      expect(response.code).to eq('400')
    end

    it 'should respond 403 if token is wrong' do
      post :build, id: @project.id, token: 'invalid-token'
      expect(response).not_to be_success
      expect(response.code).to eq('403')
    end
  end
end