Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'spec/features/merge_request')
-rw-r--r--spec/features/merge_request/batch_comments_spec.rb18
-rw-r--r--spec/features/merge_request/close_reopen_report_toggle_spec.rb10
-rw-r--r--spec/features/merge_request/merge_request_discussion_lock_spec.rb4
-rw-r--r--spec/features/merge_request/user_comments_on_diff_spec.rb1
-rw-r--r--spec/features/merge_request/user_comments_on_merge_request_spec.rb1
-rw-r--r--spec/features/merge_request/user_interacts_with_batched_mr_diffs_spec.rb4
-rw-r--r--spec/features/merge_request/user_jumps_to_discussion_spec.rb29
-rw-r--r--spec/features/merge_request/user_manages_subscription_spec.rb6
-rw-r--r--spec/features/merge_request/user_marks_merge_request_as_draft_spec.rb4
-rw-r--r--spec/features/merge_request/user_posts_diff_notes_spec.rb4
-rw-r--r--spec/features/merge_request/user_sees_avatar_on_diff_notes_spec.rb15
-rw-r--r--spec/features/merge_request/user_sees_merge_widget_spec.rb32
-rw-r--r--spec/features/merge_request/user_views_user_status_on_merge_request_spec.rb34
13 files changed, 58 insertions, 104 deletions
diff --git a/spec/features/merge_request/batch_comments_spec.rb b/spec/features/merge_request/batch_comments_spec.rb
index bccdc3c4c62..f01217df8c5 100644
--- a/spec/features/merge_request/batch_comments_spec.rb
+++ b/spec/features/merge_request/batch_comments_spec.rb
@@ -74,6 +74,24 @@ RSpec.describe 'Merge request > Batch comments', :js do
expect(page).to have_selector('.draft-note-component', text: 'Testing update')
end
+ context 'multiple times on the same diff line' do
+ it 'shows both drafts at once' do
+ write_diff_comment
+
+ # All of the Diff helpers like click_diff_line (or write_diff_comment)
+ # fail very badly when run a second time.
+ # This recreates the relevant logic.
+ line = find_by_scrolling("[id='#{sample_compare.changes[0][:line_code]}']")
+ line.hover
+ line.find('.js-add-diff-note-button').click
+
+ write_comment(text: 'A second draft!', button_text: 'Add to review')
+
+ expect(page).to have_text('Line is wrong')
+ expect(page).to have_text('A second draft!')
+ end
+ end
+
context 'with image and file draft note' do
let(:merge_request) { create(:merge_request_with_diffs, :with_image_diffs, source_project: project) }
let!(:draft_on_text) { create(:draft_note_on_text_diff, merge_request: merge_request, author: user, path: 'README.md', note: 'Lorem ipsum on text...') }
diff --git a/spec/features/merge_request/close_reopen_report_toggle_spec.rb b/spec/features/merge_request/close_reopen_report_toggle_spec.rb
index dea9a10a4ec..5e9400935c3 100644
--- a/spec/features/merge_request/close_reopen_report_toggle_spec.rb
+++ b/spec/features/merge_request/close_reopen_report_toggle_spec.rb
@@ -24,14 +24,14 @@ RSpec.describe 'Issuables Close/Reopen/Report toggle' do
context 'close/reopen/report toggle' do
it 'opens a dropdown when toggle is clicked' do
- click_button 'Toggle dropdown'
+ find('[data-testid="merge-request-actions"]').click
expect(container).to have_link("Close merge request")
expect(container).to have_link('Report abuse')
end
it 'links to Report Abuse' do
- click_button 'Toggle dropdown'
+ find('[data-testid="merge-request-actions"]').click
click_link 'Report abuse'
expect(page).to have_content('Report abuse to admin')
@@ -42,7 +42,7 @@ RSpec.describe 'Issuables Close/Reopen/Report toggle' do
let(:issuable) { create(:merge_request, :opened, source_project: project) }
it 'shows the `Edit` and `Mark as draft` buttons' do
- click_button 'Toggle dropdown'
+ find('[data-testid="merge-request-actions"]').click
expect(container).to have_link('Edit')
expect(container).to have_link('Mark as draft')
@@ -56,7 +56,7 @@ RSpec.describe 'Issuables Close/Reopen/Report toggle' do
let(:issuable) { create(:merge_request, :closed, source_project: project) }
it 'shows both the `Edit` and `Reopen` button' do
- click_button 'Toggle dropdown'
+ find('[data-testid="merge-request-actions"]').click
expect(container).to have_link('Edit')
expect(container).to have_link('Report abuse')
@@ -68,7 +68,7 @@ RSpec.describe 'Issuables Close/Reopen/Report toggle' do
let(:issuable) { create(:merge_request, :closed, source_project: project, author: user) }
it 'shows both the `Edit` and `Reopen` button' do
- click_button 'Toggle dropdown'
+ find('[data-testid="merge-request-actions"]').click
expect(container).to have_link('Edit')
expect(container).to have_link('Reopen merge request')
diff --git a/spec/features/merge_request/merge_request_discussion_lock_spec.rb b/spec/features/merge_request/merge_request_discussion_lock_spec.rb
index a7bc2a062af..d69295744f7 100644
--- a/spec/features/merge_request/merge_request_discussion_lock_spec.rb
+++ b/spec/features/merge_request/merge_request_discussion_lock_spec.rb
@@ -90,7 +90,7 @@ RSpec.describe 'Merge Request Discussion Lock', :js do
end
it 'the user can lock the merge_request' do
- click_button 'Toggle dropdown'
+ find('[data-testid="merge-request-actions"]').click
expect(page).to have_content('Lock merge request')
end
@@ -103,7 +103,7 @@ RSpec.describe 'Merge Request Discussion Lock', :js do
end
it 'the user can unlock the merge_request' do
- click_button 'Toggle dropdown'
+ find('[data-testid="merge-request-actions"]').click
expect(page).to have_content('Unlock merge request')
end
diff --git a/spec/features/merge_request/user_comments_on_diff_spec.rb b/spec/features/merge_request/user_comments_on_diff_spec.rb
index fd33731cb7b..ffaf403e873 100644
--- a/spec/features/merge_request/user_comments_on_diff_spec.rb
+++ b/spec/features/merge_request/user_comments_on_diff_spec.rb
@@ -14,7 +14,6 @@ RSpec.describe 'User comments on a diff', :js do
let(:user) { create(:user) }
before do
- stub_feature_flags(remove_user_attributes_projects: false)
project.add_maintainer(user)
sign_in(user)
diff --git a/spec/features/merge_request/user_comments_on_merge_request_spec.rb b/spec/features/merge_request/user_comments_on_merge_request_spec.rb
index ec1e2fea851..dbcfc2b968f 100644
--- a/spec/features/merge_request/user_comments_on_merge_request_spec.rb
+++ b/spec/features/merge_request/user_comments_on_merge_request_spec.rb
@@ -10,7 +10,6 @@ RSpec.describe 'User comments on a merge request', :js do
let(:user) { create(:user) }
before do
- stub_feature_flags(remove_user_attributes_projects: false)
project.add_maintainer(user)
sign_in(user)
diff --git a/spec/features/merge_request/user_interacts_with_batched_mr_diffs_spec.rb b/spec/features/merge_request/user_interacts_with_batched_mr_diffs_spec.rb
index f5b5460769e..07d99a786ba 100644
--- a/spec/features/merge_request/user_interacts_with_batched_mr_diffs_spec.rb
+++ b/spec/features/merge_request/user_interacts_with_batched_mr_diffs_spec.rb
@@ -6,8 +6,8 @@ RSpec.describe 'Batch diffs', :js do
include MergeRequestDiffHelpers
include RepoHelpers
- let(:project) { create(:project, :repository) }
- let(:merge_request) { create(:merge_request, source_project: project, source_branch: 'master', target_branch: 'empty-branch') }
+ let_it_be(:project) { create(:project, :repository) }
+ let_it_be(:merge_request) { create(:merge_request, source_project: project, source_branch: 'master', target_branch: 'empty-branch') }
before do
sign_in(project.first_owner)
diff --git a/spec/features/merge_request/user_jumps_to_discussion_spec.rb b/spec/features/merge_request/user_jumps_to_discussion_spec.rb
deleted file mode 100644
index 9bded1c5572..00000000000
--- a/spec/features/merge_request/user_jumps_to_discussion_spec.rb
+++ /dev/null
@@ -1,29 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe 'User jumps to the next unresolved discussion', :js do
- let(:project) { create(:project, :repository) }
- let(:merge_request) do
- create(:merge_request_with_diffs, source_project: project, target_project: project, source_branch: 'merge-test')
- end
-
- let(:user) { create(:user) }
-
- before do
- create(:discussion_note, noteable: merge_request, project: project, author: user)
-
- project.add_maintainer(user)
- sign_in(user)
-
- visit(diffs_project_merge_request_path(project, merge_request))
-
- wait_for_requests
- end
-
- it 'jumps to overview tab' do
- find('.discussion-next-btn').click
-
- expect(page).to have_css('.notes-tab.active')
- end
-end
diff --git a/spec/features/merge_request/user_manages_subscription_spec.rb b/spec/features/merge_request/user_manages_subscription_spec.rb
index 9fb85957979..a8d59a6ffb5 100644
--- a/spec/features/merge_request/user_manages_subscription_spec.rb
+++ b/spec/features/merge_request/user_manages_subscription_spec.rb
@@ -43,22 +43,18 @@ RSpec.describe 'User manages subscription', :js do
it 'toggles subscription' do
wait_for_requests
- click_button 'Toggle dropdown'
+ find('[data-testid="merge-request-actions"]').click
expect(page).to have_selector('.gl-toggle:not(.is-checked)')
find('[data-testid="notifications-toggle"] .gl-toggle').click
wait_for_requests
- click_button 'Toggle dropdown'
-
expect(page).to have_selector('.gl-toggle.is-checked')
find('[data-testid="notifications-toggle"] .gl-toggle').click
wait_for_requests
- click_button 'Toggle dropdown'
-
expect(page).to have_selector('.gl-toggle:not(.is-checked)')
end
end
diff --git a/spec/features/merge_request/user_marks_merge_request_as_draft_spec.rb b/spec/features/merge_request/user_marks_merge_request_as_draft_spec.rb
index c3a61476442..d85f275b724 100644
--- a/spec/features/merge_request/user_marks_merge_request_as_draft_spec.rb
+++ b/spec/features/merge_request/user_marks_merge_request_as_draft_spec.rb
@@ -16,12 +16,12 @@ RSpec.describe 'Merge request > User marks merge request as draft', :js do
end
it 'toggles draft status' do
- click_button 'Toggle dropdown'
+ find('[data-testid="merge-request-actions"]').click
click_link 'Mark as draft'
expect(page).to have_content("Draft: #{merge_request.title}")
- click_button 'Toggle dropdown'
+ find('[data-testid="merge-request-actions"]').click
page.within('.detail-page-header-actions') do
click_link 'Mark as ready'
diff --git a/spec/features/merge_request/user_posts_diff_notes_spec.rb b/spec/features/merge_request/user_posts_diff_notes_spec.rb
index 1eebb6c2e28..8af0e957c14 100644
--- a/spec/features/merge_request/user_posts_diff_notes_spec.rb
+++ b/spec/features/merge_request/user_posts_diff_notes_spec.rb
@@ -6,7 +6,7 @@ RSpec.describe 'Merge request > User posts diff notes', :js do
include MergeRequestDiffHelpers
include Spec::Support::Helpers::ModalHelpers
- let(:merge_request) { create(:merge_request) }
+ let_it_be(:merge_request) { create(:merge_request) }
let(:project) { merge_request.source_project }
let(:user) { project.creator }
let(:comment_button_class) { '.add-diff-note' }
@@ -219,7 +219,7 @@ RSpec.describe 'Merge request > User posts diff notes', :js do
end
context 'with a match line' do
- it 'does not allow commenting' do
+ it 'does not allow commenting', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/375024' do
match_should_not_allow_commenting(find_by_scrolling('.match', match: :first))
end
end
diff --git a/spec/features/merge_request/user_sees_avatar_on_diff_notes_spec.rb b/spec/features/merge_request/user_sees_avatar_on_diff_notes_spec.rb
index 8225fcbfd89..a6c024be698 100644
--- a/spec/features/merge_request/user_sees_avatar_on_diff_notes_spec.rb
+++ b/spec/features/merge_request/user_sees_avatar_on_diff_notes_spec.rb
@@ -8,10 +8,11 @@ RSpec.describe 'Merge request > User sees avatars on diff notes', :js do
include Spec::Support::Helpers::ModalHelpers
include MergeRequestDiffHelpers
- let(:project) { create(:project, :public, :repository) }
- let(:user) { project.creator }
- let(:merge_request) { create(:merge_request_with_diffs, source_project: project, author: user, title: 'Bug NS-04') }
- let(:path) { 'files/ruby/popen.rb' }
+ let_it_be(:project) { create(:project, :public, :repository) }
+ let_it_be(:user) { project.creator }
+ let_it_be(:merge_request) { create(:merge_request_with_diffs, source_project: project, author: user, title: 'Bug NS-04') }
+
+ let(:path) { 'files/ruby/popen.rb' }
let(:position) do
build(:text_diff_position, :added,
file: path,
@@ -22,10 +23,12 @@ RSpec.describe 'Merge request > User sees avatars on diff notes', :js do
let!(:note) { create(:diff_note_on_merge_request, project: project, noteable: merge_request, position: position) }
- before do
+ before_all do
project.add_maintainer(user)
+ end
+
+ before do
sign_in user
- stub_feature_flags(gl_avatar_for_all_user_avatars: false)
set_cookie('sidebar_collapsed', 'true')
end
diff --git a/spec/features/merge_request/user_sees_merge_widget_spec.rb b/spec/features/merge_request/user_sees_merge_widget_spec.rb
index c2a0e528ea7..77ac6fac22f 100644
--- a/spec/features/merge_request/user_sees_merge_widget_spec.rb
+++ b/spec/features/merge_request/user_sees_merge_widget_spec.rb
@@ -13,13 +13,15 @@ RSpec.describe 'Merge request > User sees merge widget', :js do
let(:merge_request) { create(:merge_request, source_project: project) }
let(:merge_request_in_only_mwps_project) { create(:merge_request, source_project: project_only_mwps) }
+ def click_expand_button
+ find('[data-testid="report-section-expand-button"]').click
+ end
+
before do
project.add_maintainer(user)
project_only_mwps.add_maintainer(user)
sign_in(user)
- stub_feature_flags(refactor_mr_widgets_extensions: false)
- stub_feature_flags(refactor_mr_widgets_extensions_user: false)
stub_feature_flags(refactor_mr_widget_test_summary: false)
end
@@ -606,7 +608,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do
it 'shows test reports summary which includes the new failure' do
within(".js-reports-container") do
- click_button 'Expand'
+ click_expand_button
expect(page).to have_content('Test summary contained 1 failed out of 2 total tests')
within(".js-report-section-container") do
@@ -621,7 +623,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do
context 'when user clicks the new failure' do
it 'shows the test report detail' do
within(".js-reports-container") do
- click_button 'Expand'
+ click_expand_button
within(".js-report-section-container") do
click_button 'addTest'
@@ -654,7 +656,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do
it 'shows test reports summary which includes the existing failure' do
within(".js-reports-container") do
- click_button 'Expand'
+ click_expand_button
expect(page).to have_content('Test summary contained 1 failed out of 2 total tests')
within(".js-report-section-container") do
@@ -668,7 +670,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do
context 'when user clicks the existing failure' do
it 'shows test report detail of it' do
within(".js-reports-container") do
- click_button 'Expand'
+ click_expand_button
within(".js-report-section-container") do
click_button 'Test#sum when a is 1 and b is 3 returns summary'
@@ -701,7 +703,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do
it 'shows test reports summary which includes the resolved failure' do
within(".js-reports-container") do
- click_button 'Expand'
+ click_expand_button
expect(page).to have_content('Test summary contained 1 fixed test result out of 2 total tests')
within(".js-report-section-container") do
@@ -715,7 +717,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do
context 'when user clicks the resolved failure' do
it 'shows test report detail of it' do
within(".js-reports-container") do
- click_button 'Expand'
+ click_expand_button
within(".js-report-section-container") do
click_button 'addTest'
@@ -747,7 +749,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do
it 'shows test reports summary which includes the new error' do
within(".js-reports-container") do
- click_button 'Expand'
+ click_expand_button
expect(page).to have_content('Test summary contained 1 error out of 2 total tests')
within(".js-report-section-container") do
@@ -762,7 +764,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do
context 'when user clicks the new error' do
it 'shows the test report detail' do
within(".js-reports-container") do
- click_button 'Expand'
+ click_expand_button
within(".js-report-section-container") do
click_button 'addTest'
@@ -794,7 +796,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do
it 'shows test reports summary which includes the existing error' do
within(".js-reports-container") do
- click_button 'Expand'
+ click_expand_button
expect(page).to have_content('Test summary contained 1 error out of 2 total tests')
within(".js-report-section-container") do
@@ -808,7 +810,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do
context 'when user clicks the existing error' do
it 'shows test report detail of it' do
within(".js-reports-container") do
- click_button 'Expand'
+ click_expand_button
within(".js-report-section-container") do
click_button 'Test#sum when a is 4 and b is 4 returns summary'
@@ -840,7 +842,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do
it 'shows test reports summary which includes the resolved error' do
within(".js-reports-container") do
- click_button 'Expand'
+ click_expand_button
expect(page).to have_content('Test summary contained 1 fixed test result out of 2 total tests')
within(".js-report-section-container") do
@@ -854,7 +856,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do
context 'when user clicks the resolved error' do
it 'shows test report detail of it' do
within(".js-reports-container") do
- click_button 'Expand'
+ click_expand_button
within(".js-report-section-container") do
click_button 'addTest'
@@ -894,7 +896,7 @@ RSpec.describe 'Merge request > User sees merge widget', :js do
it 'shows test reports summary which includes the resolved failure' do
within(".js-reports-container") do
- click_button 'Expand'
+ click_expand_button
expect(page).to have_content('Test summary contained 20 failed out of 20 total tests')
within(".js-report-section-container") do
diff --git a/spec/features/merge_request/user_views_user_status_on_merge_request_spec.rb b/spec/features/merge_request/user_views_user_status_on_merge_request_spec.rb
deleted file mode 100644
index d3ea8b955f2..00000000000
--- a/spec/features/merge_request/user_views_user_status_on_merge_request_spec.rb
+++ /dev/null
@@ -1,34 +0,0 @@
-# frozen_string_literal: true
-
-require 'spec_helper'
-
-RSpec.describe 'Project > Merge request > View user status' do
- let(:project) { create(:project, :public, :repository) }
- let(:merge_request) do
- create(:merge_request, source_project: project, target_project: project, author: create(:user))
- end
-
- before do
- stub_feature_flags(remove_user_attributes_projects: false)
- end
-
- subject { visit merge_request_path(merge_request) }
-
- context 'for notes', :js do
- describe 'the status of the author of a note on a merge request' do
- let(:note) { create(:note, noteable: merge_request, project: project, author: create(:user)) }
-
- it_behaves_like 'showing user status' do
- let(:user_with_status) { note.author }
- end
- end
-
- describe 'the status of the author of a diff note on a merge request' do
- let(:note) { create(:diff_note_on_merge_request, noteable: merge_request, project: project, author: create(:user)) }
-
- it_behaves_like 'showing user status' do
- let(:user_with_status) { note.author }
- end
- end
- end
-end