summaryrefslogtreecommitdiff
path: root/features
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-03-23 16:40:55 +0000
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2015-03-23 16:40:55 +0000
commite24da35984c13132e204ff923e4b75600ebed56e (patch)
tree73c373598b5b5a97df452adcaa6496b3aed223a0 /features
parent3ca34bb8f0fa4fa3a40e9ccc44cd5d8784f30c7d (diff)
parentb449bc5b77aa658db67ebcb25f709fe51c29b129 (diff)
downloadgitlab-ce-e24da35984c13132e204ff923e4b75600ebed56e.tar.gz
Merge branch 'improve-contributions-calendar' into 'master'
Replace commits calendar with contributions calendar * count opening of issues and merge requests * dont trigger git repository - use events from database * count pushes instead of commits for faster and easier counting * much-much faster since does not affected by repository size See merge request !420
Diffstat (limited to 'features')
-rw-r--r--features/steps/user.rb33
-rw-r--r--features/user.feature9
2 files changed, 42 insertions, 0 deletions
diff --git a/features/steps/user.rb b/features/steps/user.rb
index d6f05ecb2c7..10cae692a88 100644
--- a/features/steps/user.rb
+++ b/features/steps/user.rb
@@ -7,4 +7,37 @@ class Spinach::Features::User < Spinach::FeatureSteps
step 'I should see user "John Doe" page' do
expect(title).to match(/^\s*John Doe/)
end
+
+ step '"John Doe" has contributions' do
+ user = User.find_by(name: 'John Doe')
+ project = contributed_project
+
+ # Issue controbution
+ issue_params = { title: 'Bug in old browser' }
+ Issues::CreateService.new(project, user, issue_params).execute
+
+ # Push code contribution
+ push_params = {
+ project: project,
+ action: Event::PUSHED,
+ author_id: user.id,
+ data: { commit_count: 3 }
+ }
+
+ Event.create(push_params)
+ end
+
+ step 'I should see contributed projects' do
+ within '.contributed-projects' do
+ page.should have_content(@contributed_project.name)
+ end
+ end
+
+ step 'I should see contributions calendar' do
+ page.should have_css('.cal-heatmap-container')
+ end
+
+ def contributed_project
+ @contributed_project ||= create(:project, :public)
+ end
end
diff --git a/features/user.feature b/features/user.feature
index a2167935fd2..69618e929c4 100644
--- a/features/user.feature
+++ b/features/user.feature
@@ -67,3 +67,12 @@ Feature: User
And I should see project "Enterprise"
And I should not see project "Internal"
And I should not see project "Community"
+
+ @javascript
+ Scenario: "John Doe" contribution profile
+ Given I sign in as a user
+ And "John Doe" has contributions
+ When I visit user "John Doe" page
+ Then I should see user "John Doe" page
+ And I should see contributed projects
+ And I should see contributions calendar