Commit 219ac1898095355ad9fc5c9f2ae08d9428b33090
1 parent
4e5597b8
Exists in
master
and in
4 other branches
Updated specs for post_receive worker
Showing
1 changed file
with
24 additions
and
11 deletions
Show diff stats
spec/workers/post_receive_spec.rb
@@ -8,24 +8,37 @@ describe PostReceive do | @@ -8,24 +8,37 @@ describe PostReceive do | ||
8 | end | 8 | end |
9 | end | 9 | end |
10 | 10 | ||
11 | - context "web hooks" do | ||
12 | - let(:project) { Factory :project } | ||
13 | - before do | ||
14 | - @key = Factory :key, :user => project.owner | ||
15 | - @key_id = @key.identifier | 11 | + context "web hook" do |
12 | + let(:project) { Factory.create(:project) } | ||
13 | + let(:key) { Factory.create(:key, :user => project.owner) } | ||
14 | + let(:key_id) { key.identifier } | ||
15 | + | ||
16 | + it "fetches the correct project" do | ||
17 | + Project.should_receive(:find_by_path).with(project.path).and_return(project) | ||
18 | + PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master', key_id) | ||
16 | end | 19 | end |
17 | 20 | ||
18 | - it "it retrieves the correct project" do | ||
19 | - Project.should_receive(:find_by_path).with(project.path) | ||
20 | - Key.should_receive(:find_by_identifier).with(project.path) | ||
21 | - PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master', @key_id) | 21 | + it "does not run if the author is not in the project" do |
22 | + Key.stub(find_by_identifier: nil) | ||
23 | + | ||
24 | + project.should_not_receive(:observe_push) | ||
25 | + project.should_not_receive(:execute_web_hooks) | ||
26 | + | ||
27 | + PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master', key_id).should be_false | ||
22 | end | 28 | end |
23 | 29 | ||
24 | it "asks the project to execute web hooks" do | 30 | it "asks the project to execute web hooks" do |
25 | Project.stub(find_by_path: project) | 31 | Project.stub(find_by_path: project) |
26 | - project.should_receive(:execute_web_hooks).with('sha-old', 'sha-new', 'refs/heads/master', @key_id) | 32 | + project.should_receive(:execute_web_hooks).with('sha-old', 'sha-new', 'refs/heads/master', key_id) |
33 | + | ||
34 | + PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master', key_id) | ||
35 | + end | ||
36 | + | ||
37 | + it "asks the project to observe push/create event data" do | ||
38 | + Project.stub(find_by_path: project) | ||
39 | + project.should_receive(:observe_push).with('sha-old', 'sha-new', 'refs/heads/master', key_id) | ||
27 | 40 | ||
28 | - PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master', @key_id) | 41 | + PostReceive.perform(project.path, 'sha-old', 'sha-new', 'refs/heads/master', key_id) |
29 | end | 42 | end |
30 | end | 43 | end |
31 | end | 44 | end |