Commit 36738897bf06937056285b0eeabef13928d4d704
1 parent
42032956
Exists in
master
and in
4 other branches
Add specs for Project#discover_default_branch
Showing
1 changed file
with
26 additions
and
0 deletions
Show diff stats
spec/roles/repository_spec.rb
| ... | ... | @@ -19,4 +19,30 @@ describe Project, "Repository" do |
| 19 | 19 | project.should_not be_empty_repo |
| 20 | 20 | end |
| 21 | 21 | end |
| 22 | + | |
| 23 | + describe "#discover_default_branch" do | |
| 24 | + let(:master) { double(name: 'master') } | |
| 25 | + let(:stable) { double(name: 'stable') } | |
| 26 | + | |
| 27 | + it "returns 'master' when master exists" do | |
| 28 | + project.should_receive(:heads).and_return([stable, master]) | |
| 29 | + project.discover_default_branch.should == 'master' | |
| 30 | + end | |
| 31 | + | |
| 32 | + it "returns non-master when master exists but default branch is set to something else" do | |
| 33 | + project.default_branch = 'stable' | |
| 34 | + project.should_receive(:heads).and_return([stable, master]) | |
| 35 | + project.discover_default_branch.should == 'stable' | |
| 36 | + end | |
| 37 | + | |
| 38 | + it "returns a non-master branch when only one exists" do | |
| 39 | + project.should_receive(:heads).and_return([stable]) | |
| 40 | + project.discover_default_branch.should == 'stable' | |
| 41 | + end | |
| 42 | + | |
| 43 | + it "returns nil when no branch exists" do | |
| 44 | + project.should_receive(:heads).and_return([]) | |
| 45 | + project.discover_default_branch.should be_nil | |
| 46 | + end | |
| 47 | + end | |
| 22 | 48 | end | ... | ... |