title
end
+
+ def default_url_to_repo
+ current_user ? @project.url_to_repo : @project.http_url_to_repo
+ end
+
+ def default_clone_protocol
+ current_user ? "ssh" : "http"
+ end
end
touch README
git add README
git commit -m 'first commit'
- %span.clone= "git remote add origin #{@project.url_to_repo}"
+ %span.clone= "git remote add origin #{default_url_to_repo}"
:preserve
git push -u origin master
%pre.dark
:preserve
cd existing_git_repo
- %span.clone= "git remote add origin #{@project.url_to_repo}"
+ %span.clone= "git remote add origin #{default_url_to_repo}"
:preserve
git push -u origin master
.git-clone-holder
- %button{class: "btn #{ current_user ? 'active' : '' }", :"data-clone" => @project.ssh_url_to_repo} SSH
- %button{class: "btn #{ current_user ? '' : 'active' }", :"data-clone" => @project.http_url_to_repo}= gitlab_config.protocol.upcase
- = text_field_tag :project_clone, (current_user ? @project.url_to_repo : @project.http_url_to_repo), class: "one_click_select span5", readonly: true
+ %button{class: "btn #{ 'active' if default_clone_protocol == 'ssh' }", :"data-clone" => @project.ssh_url_to_repo} SSH
+ %button{class: "btn #{ 'active' if default_clone_protocol == 'http' }", :"data-clone" => @project.http_url_to_repo}= gitlab_config.protocol.upcase
+ = text_field_tag :project_clone, default_url_to_repo, class: "one_click_select span5", readonly: true
Given public empty project "Empty Public Project"
When I visit empty project page
Then I should see empty public project details
+ And I should see empty public project details with http clone info
+
+ Scenario: I visit an empty public project page as user
+ Given I sign in as a user
+ And public empty project "Empty Public Project"
+ When I visit empty project page
+ Then I should see empty public project details
+ And I should see empty public project details with ssh clone info
Scenario: I visit public area as user
Given I sign in as a user
Scenario: I visit public project page
When I visit project "Community" page
Then I should see project "Community" home page
- And I should see a http link to the repository
+ And I should see an http link to the repository
- Scenario: I visit public area as user
+ Scenario: I visit public project page as user
Given I sign in as a user
When I visit project "Community" page
Then I should see project "Community" home page
- And I should see a ssh link to the repository
+ And I should see an ssh link to the repository
+
+ Scenario: I visit an empty public project page
+ Given public empty project "Empty Public Project"
+ When I visit empty project page
+ Then I should see empty public project details
page.should have_content 'Git global setup'
end
+ step 'I should see empty public project details with http clone info' do
+ project = Project.find_by_name('Empty Public Project')
+ page.all(:css, '.git-empty .clone').each do |element|
+ element.text.should include(project.http_url_to_repo)
+ end
+ end
+
+ step 'I should see empty public project details with ssh clone info' do
+ project = Project.find_by_name('Empty Public Project')
+ page.all(:css, '.git-empty .clone').each do |element|
+ element.text.should include(project.url_to_repo)
+ end
+ end
+
step 'private project "Enterprise"' do
create :project, name: 'Enterprise'
end
end
end
- Then 'I should see a http link to the repository' do
+ step 'I should see an http link to the repository' do
project = Project.find_by_name 'Community'
page.should have_field('project_clone', with: project.http_url_to_repo)
end
- Then 'I should see a ssh link to the repository' do
+ step 'I should see an ssh link to the repository' do
project = Project.find_by_name 'Community'
page.should have_field('project_clone', with: project.url_to_repo)
end