Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Hollingsworth <jhworth.developer@gmail.com>2013-12-04 06:13:19 +0400
committerJason Hollingsworth <jhworth.developer@gmail.com>2013-12-17 22:48:59 +0400
commit1521f467cbf8b1b9b3e9cb4169f3e96a9984bb46 (patch)
treec3dbbcec4b1b517df01e678a1850d5c9ff3f3bda
parent26c8b3163454ab4610a8130f13de1dc686dcdabf (diff)
Update default public pull url.
This updates the default pull URL for public projects when the user is not logged in.
-rw-r--r--app/helpers/projects_helper.rb8
-rw-r--r--app/views/projects/empty.html.haml4
-rw-r--r--app/views/shared/_clone_panel.html.haml6
-rw-r--r--features/public/public_projects.feature19
-rw-r--r--features/steps/public/projects_feature.rb18
5 files changed, 45 insertions, 10 deletions
diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb
index 0141da1d071..660528952b2 100644
--- a/app/helpers/projects_helper.rb
+++ b/app/helpers/projects_helper.rb
@@ -179,4 +179,12 @@ module ProjectsHelper
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
diff --git a/app/views/projects/empty.html.haml b/app/views/projects/empty.html.haml
index b63e6a6b554..15cf150460f 100644
--- a/app/views/projects/empty.html.haml
+++ b/app/views/projects/empty.html.haml
@@ -29,7 +29,7 @@
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
@@ -38,7 +38,7 @@
%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
diff --git a/app/views/shared/_clone_panel.html.haml b/app/views/shared/_clone_panel.html.haml
index 097c81100ba..2ae3e6d97f4 100644
--- a/app/views/shared/_clone_panel.html.haml
+++ b/app/views/shared/_clone_panel.html.haml
@@ -1,4 +1,4 @@
.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
diff --git a/features/public/public_projects.feature b/features/public/public_projects.feature
index 5a30c03dd4a..d6574ca900e 100644
--- a/features/public/public_projects.feature
+++ b/features/public/public_projects.feature
@@ -26,6 +26,14 @@ Feature: Public Projects Feature
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
@@ -42,10 +50,15 @@ Feature: Public Projects Feature
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
diff --git a/features/steps/public/projects_feature.rb b/features/steps/public/projects_feature.rb
index a4209bb9c78..47e52f47d07 100644
--- a/features/steps/public/projects_feature.rb
+++ b/features/steps/public/projects_feature.rb
@@ -46,6 +46,20 @@ class Spinach::Features::PublicProjectsFeature < Spinach::FeatureSteps
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
@@ -84,12 +98,12 @@ class Spinach::Features::PublicProjectsFeature < Spinach::FeatureSteps
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