summaryrefslogtreecommitdiff
path: root/features
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-02 12:31:50 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-06-02 12:31:50 +0000
commit2c46b35b100be89e0549336616391aef2337454d (patch)
tree65460161315b06da8df51242bb926adb4e1fdf34 /features
parent28cc199128d64d8a84b555bea76fde0af9c7a783 (diff)
parente9de569458b55b43a0d09dceef07c3c5d583af24 (diff)
downloadgitlab-ce-2c46b35b100be89e0549336616391aef2337454d.tar.gz
Merge branch 'profile-personal-projects' into 'master'
Show only personal projects on user page When I visit user profile page I see all projects he have access too (if i can also access same projects). That means I see a list of hundreds projects if he joined several groups. ![Screenshot 2014-05-30 18.24.43](https://dev.gitlab.org/uploads/dzaporozhets/gitlabhq/5209c0cb01/Screenshot_2014-05-30_18.24.43.png) It inefficient because: * Slow page load if a lot of projects * Hard to find his personal projects I propose to replace it with `Personal projects` list. It has next advantages: * we don't load huge useless list of projects * I can see if user have personal projects I have access to * faster page load. We don't load all projects from all groups where user invited ![Screenshot 2014-05-30 18.20.29](https://dev.gitlab.org/uploads/dzaporozhets/gitlabhq/8a5d02a00d/Screenshot_2014-05-30_18.20.29.png) Partly fixes #1135
Diffstat (limited to 'features')
-rw-r--r--features/steps/shared/project.rb12
-rw-r--r--features/user.feature22
2 files changed, 17 insertions, 17 deletions
diff --git a/features/steps/shared/project.rb b/features/steps/shared/project.rb
index f8cb753b78f..40362fee0bc 100644
--- a/features/steps/shared/project.rb
+++ b/features/steps/shared/project.rb
@@ -102,24 +102,24 @@ module SharedProject
page.should_not have_content "Community"
end
- step '"John Doe" is authorized to private project "Enterprise"' do
+ step '"John Doe" owns private project "Enterprise"' do
user = user_exists("John Doe", username: "john_doe")
project = Project.find_by(name: "Enterprise")
- project ||= create(:project, name: "Enterprise", namespace: user.namespace)
+ project ||= create(:empty_project, name: "Enterprise", namespace: user.namespace)
project.team << [user, :master]
end
- step '"John Doe" is authorized to internal project "Internal"' do
+ step '"John Doe" owns internal project "Internal"' do
user = user_exists("John Doe", username: "john_doe")
project = Project.find_by(name: "Internal")
- project ||= create :project, :internal, name: 'Internal'
+ project ||= create :empty_project, :internal, name: 'Internal', namespace: user.namespace
project.team << [user, :master]
end
- step '"John Doe" is authorized to public project "Community"' do
+ step '"John Doe" owns public project "Community"' do
user = user_exists("John Doe", username: "john_doe")
project = Project.find_by(name: "Community")
- project ||= create :project, :public, name: 'Community'
+ project ||= create :empty_project, :public, name: 'Community', namespace: user.namespace
project.team << [user, :master]
end
end
diff --git a/features/user.feature b/features/user.feature
index d4198c08de9..a2167935fd2 100644
--- a/features/user.feature
+++ b/features/user.feature
@@ -1,13 +1,13 @@
Feature: User
Background:
Given User "John Doe" exists
- And "John Doe" is authorized to private project "Enterprise"
+ And "John Doe" owns private project "Enterprise"
# Signed out
- Scenario: I visit user "John Doe" page while not signed in when he is authorized to a public project
- Given "John Doe" is authorized to internal project "Internal"
- And "John Doe" is authorized to public project "Community"
+ Scenario: I visit user "John Doe" page while not signed in when he owns a public project
+ Given "John Doe" owns internal project "Internal"
+ And "John Doe" owns public project "Community"
When I visit user "John Doe" page
Then I should see user "John Doe" page
And I should not see project "Enterprise"
@@ -15,15 +15,15 @@ Feature: User
And I should see project "Community"
Scenario: I visit user "John Doe" page while not signed in when he is not authorized to a public project
- Given "John Doe" is authorized to internal project "Internal"
+ Given "John Doe" owns internal project "Internal"
When I visit user "John Doe" page
Then I should be redirected to sign in page
# Signed in as someone else
- Scenario: I visit user "John Doe" page while signed in as someone else when he is authorized to a public project
- Given "John Doe" is authorized to public project "Community"
- And "John Doe" is authorized to internal project "Internal"
+ Scenario: I visit user "John Doe" page while signed in as someone else when he owns a public project
+ Given "John Doe" owns public project "Community"
+ And "John Doe" owns internal project "Internal"
And I sign in as a user
When I visit user "John Doe" page
Then I should see user "John Doe" page
@@ -32,7 +32,7 @@ Feature: User
And I should see project "Community"
Scenario: I visit user "John Doe" page while signed in as someone else when he is not authorized to a public project
- Given "John Doe" is authorized to internal project "Internal"
+ Given "John Doe" owns internal project "Internal"
And I sign in as a user
When I visit user "John Doe" page
Then I should see user "John Doe" page
@@ -51,8 +51,8 @@ Feature: User
# Signed in as the user himself
Scenario: I visit user "John Doe" page while signed in as "John Doe" when he has a public project
- Given "John Doe" is authorized to internal project "Internal"
- And "John Doe" is authorized to public project "Community"
+ Given "John Doe" owns internal project "Internal"
+ And "John Doe" owns public project "Community"
And I sign in as "John Doe"
When I visit user "John Doe" page
Then I should see user "John Doe" page