Commit 9f0e80591ab1f3c4967575574fed37754ef2403b

Authored by Robert Speicher
1 parent e9bd4506

Fix Repository role spec

app/roles/repository.rb
@@ -45,14 +45,17 @@ module Repository @@ -45,14 +45,17 @@ module Repository
45 File.exists?(hook_file) 45 File.exists?(hook_file)
46 end 46 end
47 47
  48 + # Returns an Array of branch names
48 def branches 49 def branches
49 repo.branches.collect(&:name).sort 50 repo.branches.collect(&:name).sort
50 end 51 end
51 52
  53 + # Returns an Array of tag names
52 def tags 54 def tags
53 repo.tags.collect(&:name).sort.reverse 55 repo.tags.collect(&:name).sort.reverse
54 end 56 end
55 57
  58 + # Returns an Array of branch and tag names
56 def ref_names 59 def ref_names
57 [branches + tags].flatten 60 [branches + tags].flatten
58 end 61 end
spec/roles/repository_spec.rb
@@ -21,27 +21,27 @@ describe Project, "Repository" do @@ -21,27 +21,27 @@ describe Project, "Repository" do
21 end 21 end
22 22
23 describe "#discover_default_branch" do 23 describe "#discover_default_branch" do
24 - let(:master) { double(name: 'master') }  
25 - let(:stable) { double(name: 'stable') } 24 + let(:master) { 'master' }
  25 + let(:stable) { 'stable' }
26 26
27 it "returns 'master' when master exists" do 27 it "returns 'master' when master exists" do
28 - project.should_receive(:heads).and_return([stable, master]) 28 + project.should_receive(:branches).at_least(:once).and_return([stable, master])
29 project.discover_default_branch.should == 'master' 29 project.discover_default_branch.should == 'master'
30 end 30 end
31 31
32 it "returns non-master when master exists but default branch is set to something else" do 32 it "returns non-master when master exists but default branch is set to something else" do
33 project.default_branch = 'stable' 33 project.default_branch = 'stable'
34 - project.should_receive(:heads).and_return([stable, master]) 34 + project.should_receive(:branches).at_least(:once).and_return([stable, master])
35 project.discover_default_branch.should == 'stable' 35 project.discover_default_branch.should == 'stable'
36 end 36 end
37 37
38 it "returns a non-master branch when only one exists" do 38 it "returns a non-master branch when only one exists" do
39 - project.should_receive(:heads).and_return([stable]) 39 + project.should_receive(:branches).at_least(:once).and_return([stable])
40 project.discover_default_branch.should == 'stable' 40 project.discover_default_branch.should == 'stable'
41 end 41 end
42 42
43 it "returns nil when no branch exists" do 43 it "returns nil when no branch exists" do
44 - project.should_receive(:heads).and_return([]) 44 + project.should_receive(:branches).at_least(:once).and_return([])
45 project.discover_default_branch.should be_nil 45 project.discover_default_branch.should be_nil
46 end 46 end
47 end 47 end