diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-03-22 23:55:00 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2015-03-22 23:55:00 +0300 |
commit | 43afe46bbd19b1edf60abf3f104fb2b0d29af564 (patch) | |
tree | e2a11249408e3403a5a125c50008e77ba1157e57 /features/steps/user.rb | |
parent | 20a12438ab470afe1a5736fc46091a6ef4c30073 (diff) |
Refactor contributions events and write tests for calendar
Diffstat (limited to 'features/steps/user.rb')
-rw-r--r-- | features/steps/user.rb | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/features/steps/user.rb b/features/steps/user.rb index d6f05ecb2c7..e6086bfc1c9 100644 --- a/features/steps/user.rb +++ b/features/steps/user.rb @@ -7,4 +7,39 @@ 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 + within '.calendar' do + page.should have_css('.graph-rect.r2.q2') + end + end + + def contributed_project + @contributed_project ||= create(:project, :public) + end end |