diff --git a/features/project/merge_requests.feature b/features/project/merge_requests.feature index 35ffa9fc6e1253dada8ee9483f2e45f9e3586301..947f668e432cab53a0494a70b1e7b978ba866a76 100644 --- a/features/project/merge_requests.feature +++ b/features/project/merge_requests.feature @@ -63,7 +63,7 @@ Feature: Project Merge Requests Scenario: I comment on a merge request diff 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 click on the Changes tab 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 diff @@ -114,7 +114,7 @@ Feature: Project Merge Requests Scenario: I hide comments on a merge request diff with comments in a single file 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 click on the Changes tab And I leave a comment like "Line is wrong" on line 39 of the second file And I click link "Hide inline discussion" of the second file Then I should not see a comment like "Line is wrong here" in the second file @@ -123,7 +123,7 @@ Feature: Project Merge Requests Scenario: I show comments on a merge request diff with comments in a single file 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 click on the Changes tab And I leave a comment like "Line is wrong" on line 39 of the second file Then I should see a comment like "Line is wrong" in the second file @@ -131,7 +131,7 @@ Feature: Project Merge Requests Scenario: I hide comments on a merge request diff with comments in multiple files 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 click on the Changes tab And I leave a comment like "Line is correct" on line 12 of the first file And I leave a comment like "Line is wrong" on line 39 of the second file And I click link "Hide inline discussion" of the second file @@ -142,7 +142,7 @@ Feature: Project Merge Requests Scenario: I show comments on a merge request diff with comments in multiple files 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 click on the Changes tab And I leave a comment like "Line is correct" on line 12 of the first file And I leave a comment like "Line is wrong" on line 39 of the second file And I click link "Hide inline discussion" of the second file @@ -154,7 +154,7 @@ Feature: Project Merge Requests Scenario: I unfold diff 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 click on the Changes tab And I unfold diff Then I should see additional file lines @@ -162,7 +162,7 @@ Feature: Project Merge Requests Scenario: I show comments on a merge request side-by-side diff with comments in multiple files 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 click on the Changes tab And I leave a comment like "Line is correct" on line 12 of the first file And I leave a comment like "Line is wrong" on line 39 of the second file And I click Side-by-side Diff tab @@ -172,7 +172,7 @@ Feature: Project Merge Requests Scenario: I view diffs on a 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 Changes tab via Javascript + And I click on the Changes tab Then I should see the proper Inline and Side-by-side links # Description preview diff --git a/features/steps/project/merge_requests.rb b/features/steps/project/merge_requests.rb index f11edb659d5438ac853fb452dc54fed24bf4cc31..7cfde37de552371b8d7c812878b0fc52f126e0a9 100644 --- a/features/steps/project/merge_requests.rb +++ b/features/steps/project/merge_requests.rb @@ -118,25 +118,17 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps author: project.users.first) end - step 'I switch to the diff tab' do - visit diffs_namespace_project_merge_request_path(project.namespace, project, merge_request) - end - - step 'I click on the Changes tab via Javascript' do + step 'I click on the Changes tab' do page.within '.merge-request-tabs' do click_link 'Changes' end - sleep 2 + # Waits for load + expect(page).to have_css('.tab-content #diffs.active') end step 'I should see the proper Inline and Side-by-side links' do - buttons = page.all('#commit-diff-viewtype') - expect(buttons.count).to eq(2) - - buttons.each do |b| - expect(b['href']).not_to have_content('json') - end + expect(page).to have_css('#commit-diff-viewtype', count: 2) end step 'I switch to the merge request\'s comments tab' do @@ -301,6 +293,8 @@ class Spinach::Features::ProjectMergeRequests < Spinach::FeatureSteps end step 'I unfold diff' do + expect(page).to have_css('.js-unfold') + first('.js-unfold').click end diff --git a/spec/features/notes_on_merge_requests_spec.rb b/spec/features/notes_on_merge_requests_spec.rb index 12ab4b844d8cdc7f89707bb8fd8b9ad12c4bc8eb..ad37b589b84b6d4f97918cd58a86e558b6d84baf 100644 --- a/spec/features/notes_on_merge_requests_spec.rb +++ b/spec/features/notes_on_merge_requests_spec.rb @@ -223,8 +223,7 @@ describe 'Comments' do sample_compare.changes.last[:line_code] end - def click_diff_line(data = nil) - data ||= line_code - find("button[data-line-code=\"#{data}\"]").click + def click_diff_line(data = line_code) + page.find(%Q{button[data-line-code="#{data}"]}, visible: false).click end end