From ee4643c732c3d91437e50d0c8486dbb8ea5b51b5 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Thu, 31 Jul 2014 19:19:40 +0300 Subject: [PATCH] Fix MR tests Signed-off-by: Dmitriy Zaporozhets --- features/project/merge_requests.feature | 14 ++++++------ features/steps/project/merge_requests.rb | 29 +++++++++++++----------- spec/support/repo_helpers.rb | 20 ++++++++++++++++ 3 files changed, 43 insertions(+), 20 deletions(-) diff --git a/features/project/merge_requests.feature b/features/project/merge_requests.feature index 6a2ba7e3b28..d4c71ba336e 100644 --- a/features/project/merge_requests.feature +++ b/features/project/merge_requests.feature @@ -52,27 +52,27 @@ Feature: Project Merge Requests Given project "Shop" have "Bug NS-05" open merge request with diffs inside And I visit merge request page "Bug NS-05" And I switch to the diff tab - And I leave a comment like "Line is wrong" on line 185 of the first file + And I leave a comment like "Line is wrong" on diff And I switch to the merge request's comments tab - Then I should see a discussion has started on line 185 + Then I should see a discussion has started on diff @javascript Scenario: I comment on a line of a commit in merge request Given project "Shop" have "Bug NS-05" open merge request with diffs inside And I visit merge request page "Bug NS-05" - And I click on the first commit in the merge request - And I leave a comment like "Line is wrong" on line 185 of the first file in commit + And I click on the commit in the merge request + And I leave a comment like "Line is wrong" on diff in commit And I switch to the merge request's comments tab - Then I should see a discussion has started on commit b1e6a9dbf1:L185 + Then I should see a discussion has started on commit diff @javascript Scenario: I comment on a commit in merge request Given project "Shop" have "Bug NS-05" open merge request with diffs inside And I visit merge request page "Bug NS-05" - And I click on the first commit in the merge request + And I click on the commit in the merge request And I leave a comment on the diff page in commit And I switch to the merge request's comments tab - Then I should see a discussion has started on commit b1e6a9dbf1 + Then I should see a discussion has started on commit @javascript Scenario: I accept merge request with custom commit message diff --git a/features/steps/project/merge_requests.rb b/features/steps/project/merge_requests.rb index ae5cb4c1aab..f0007a039e4 100644 --- a/features/steps/project/merge_requests.rb +++ b/features/steps/project/merge_requests.rb @@ -104,9 +104,9 @@ class ProjectMergeRequests < Spinach::FeatureSteps visit project_merge_request_path(project, merge_request) end - step 'I click on the first commit in the merge request' do - within '.first-commits' do - click_link merge_request.commits.first.short_id(8) + step 'I click on the commit in the merge request' do + within '.mr-commits' do + click_link sample_commit.id[0..8] end end @@ -120,32 +120,31 @@ class ProjectMergeRequests < Spinach::FeatureSteps leave_comment "One comment to rule them all" end - step 'I leave a comment like "Line is wrong" on line 185 of the first file' do + step 'I leave a comment like "Line is wrong" on diff' do init_diff_note leave_comment "Line is wrong" end - step 'I leave a comment like "Line is wrong" on line 185 of the first file in commit' do + step 'I leave a comment like "Line is wrong" on diff in commit' do click_diff_line(sample_commit.line_code) leave_comment "Line is wrong" end - step 'I should see a discussion has started on line 185' do + step 'I should see a discussion has started on diff' do page.should have_content "#{current_user.name} started a discussion" - page.should have_content "app/assets/stylesheets/tree.scss" + page.should have_content sample_commit.line_code_path page.should have_content "Line is wrong" end - step 'I should see a discussion has started on commit b1e6a9dbf1:L185' do + step 'I should see a discussion has started on commit diff' do page.should have_content "#{current_user.name} started a discussion on commit" - page.should have_content "app/assets/stylesheets/tree.scss" + page.should have_content sample_commit.line_code_path page.should have_content "Line is wrong" end - step 'I should see a discussion has started on commit b1e6a9dbf1' do + step 'I should see a discussion has started on commit' do page.should have_content "#{current_user.name} started a discussion on commit" page.should have_content "One comment to rule them all" - page.should have_content "app/assets/stylesheets/tree.scss" end step 'merge request is mergeable' do @@ -162,6 +161,10 @@ class ProjectMergeRequests < Spinach::FeatureSteps end step 'I accept this merge request' do + Gitlab::Satellite::MergeAction.any_instance.stub( + merge!: true, + ) + click_button "Accept Merge Request" end @@ -261,11 +264,11 @@ class ProjectMergeRequests < Spinach::FeatureSteps end def init_diff_note_first_file - click_diff_line(sample_commit.line_code) + click_diff_line(sample_compare.changes[0][:line_code]) end def init_diff_note_second_file - click_diff_line(sample_commit.del_line_code) + click_diff_line(sample_compare.changes[1][:line_code]) end def have_visible_content (text) diff --git a/spec/support/repo_helpers.rb b/spec/support/repo_helpers.rb index 377e7f856ff..8c4c96ea851 100644 --- a/spec/support/repo_helpers.rb +++ b/spec/support/repo_helpers.rb @@ -33,6 +33,7 @@ eos author_email: "dmitriy.zaporozhets@gmail.com", files_changed_count: 2, line_code: '2f6fcd96b88b36ce98c38da085c795a27d92a3dd_15_14', + line_code_path: 'files/ruby/popen.rb', del_line_code: '2f6fcd96b88b36ce98c38da085c795a27d92a3dd_13_13', message: < eos ) end + + def sample_compare + changes = [ + { + line_code: 'a5cc2925ca8258af241be7e5b0381edf30266302_20_20', + file_path: '.gitignore', + }, + { + line_code: '7445606fbf8f3683cd42bdc54b05d7a0bc2dfc44_4_6', + file_path: '.gitmodules', + } + ] + + OpenStruct.new( + source_branch: 'master', + target_branch: 'feature', + changes: changes + ) + end end