Commit 9f0e80591ab1f3c4967575574fed37754ef2403b

Authored by Robert Speicher
1 parent e9bd4506

Fix Repository role spec

app/roles/repository.rb
... ... @@ -45,14 +45,17 @@ module Repository
45 45 File.exists?(hook_file)
46 46 end
47 47  
  48 + # Returns an Array of branch names
48 49 def branches
49 50 repo.branches.collect(&:name).sort
50 51 end
51 52  
  53 + # Returns an Array of tag names
52 54 def tags
53 55 repo.tags.collect(&:name).sort.reverse
54 56 end
55 57  
  58 + # Returns an Array of branch and tag names
56 59 def ref_names
57 60 [branches + tags].flatten
58 61 end
... ...
spec/roles/repository_spec.rb
... ... @@ -21,27 +21,27 @@ describe Project, "Repository" do
21 21 end
22 22  
23 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 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 29 project.discover_default_branch.should == 'master'
30 30 end
31 31  
32 32 it "returns non-master when master exists but default branch is set to something else" do
33 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 35 project.discover_default_branch.should == 'stable'
36 36 end
37 37  
38 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 40 project.discover_default_branch.should == 'stable'
41 41 end
42 42  
43 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 45 project.discover_default_branch.should be_nil
46 46 end
47 47 end
... ...