diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-03-23 19:40:55 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-03-23 19:40:55 +0300 |
commit | e24da35984c13132e204ff923e4b75600ebed56e (patch) | |
tree | 73c373598b5b5a97df452adcaa6496b3aed223a0 /features | |
parent | 3ca34bb8f0fa4fa3a40e9ccc44cd5d8784f30c7d (diff) | |
parent | b449bc5b77aa658db67ebcb25f709fe51c29b129 (diff) |
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.rb | 33 | ||||
-rw-r--r-- | features/user.feature | 9 |
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 |