diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-17 14:33:21 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2022-11-17 14:33:21 +0300 |
commit | 7021455bd1ed7b125c55eb1b33c5a01f2bc55ee0 (patch) | |
tree | 5bdc2229f5198d516781f8d24eace62fc7e589e9 /spec/features/issues | |
parent | 185b095e93520f96e9cfc31d9c3e69b498cdab7c (diff) |
Add latest changes from gitlab-org/gitlab@15-6-stable-eev15.6.0-rc42
Diffstat (limited to 'spec/features/issues')
15 files changed, 76 insertions, 32 deletions
diff --git a/spec/features/issues/confidential_notes_spec.rb b/spec/features/issues/confidential_notes_spec.rb new file mode 100644 index 00000000000..858c054c803 --- /dev/null +++ b/spec/features/issues/confidential_notes_spec.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true + +require "spec_helper" + +RSpec.describe "Confidential notes on issues", :js do + it_behaves_like 'confidential notes on issuables' do + let_it_be(:issuable_parent) { create(:project) } + let_it_be(:issuable) { create(:issue, project: issuable_parent) } + let_it_be(:user) { create(:user) } + + let(:issuable_path) { project_issue_path(issuable_parent, issuable) } + end +end diff --git a/spec/features/issues/filtered_search/dropdown_assignee_spec.rb b/spec/features/issues/filtered_search/dropdown_assignee_spec.rb index 05eb656461e..40b0bfd9aa4 100644 --- a/spec/features/issues/filtered_search/dropdown_assignee_spec.rb +++ b/spec/features/issues/filtered_search/dropdown_assignee_spec.rb @@ -9,6 +9,10 @@ RSpec.describe 'Dropdown assignee', :js do let_it_be(:user) { create(:user) } let_it_be(:issue) { create(:issue, project: project) } + before do + stub_feature_flags(or_issuable_queries: false) + end + describe 'behavior' do before do project.add_maintainer(user) diff --git a/spec/features/issues/filtered_search/dropdown_author_spec.rb b/spec/features/issues/filtered_search/dropdown_author_spec.rb index 36a8f1f3902..a67d114c6d1 100644 --- a/spec/features/issues/filtered_search/dropdown_author_spec.rb +++ b/spec/features/issues/filtered_search/dropdown_author_spec.rb @@ -10,6 +10,7 @@ RSpec.describe 'Dropdown author', :js do let_it_be(:issue) { create(:issue, project: project) } before do + stub_feature_flags(or_issuable_queries: false) project.add_maintainer(user) sign_in(user) diff --git a/spec/features/issues/filtered_search/dropdown_hint_spec.rb b/spec/features/issues/filtered_search/dropdown_hint_spec.rb index dcbab308efa..cbe917931aa 100644 --- a/spec/features/issues/filtered_search/dropdown_hint_spec.rb +++ b/spec/features/issues/filtered_search/dropdown_hint_spec.rb @@ -10,6 +10,7 @@ RSpec.describe 'Dropdown hint', :js do let_it_be(:issue) { create(:issue, project: project) } before do + stub_feature_flags(or_issuable_queries: false) project.add_maintainer(user) end diff --git a/spec/features/issues/filtered_search/filter_issues_spec.rb b/spec/features/issues/filtered_search/filter_issues_spec.rb index 8d96bbc38cb..e48df1b1c53 100644 --- a/spec/features/issues/filtered_search/filter_issues_spec.rb +++ b/spec/features/issues/filtered_search/filter_issues_spec.rb @@ -19,6 +19,7 @@ RSpec.describe 'Filter issues', :js do end before do + stub_feature_flags(or_issuable_queries: false) project.add_maintainer(user) create(:issue, project: project, author: user2, title: "Bug report 1") diff --git a/spec/features/issues/filtered_search/visual_tokens_spec.rb b/spec/features/issues/filtered_search/visual_tokens_spec.rb index c44181a60e4..854b88c3f81 100644 --- a/spec/features/issues/filtered_search/visual_tokens_spec.rb +++ b/spec/features/issues/filtered_search/visual_tokens_spec.rb @@ -15,6 +15,7 @@ RSpec.describe 'Visual tokens', :js do let_it_be(:issue) { create(:issue, project: project) } before do + stub_feature_flags(or_issuable_queries: false) project.add_member(user, :maintainer) project.add_member(user_rock, :maintainer) sign_in(user) diff --git a/spec/features/issues/form_spec.rb b/spec/features/issues/form_spec.rb index e749c555dcf..fe591d7fe3a 100644 --- a/spec/features/issues/form_spec.rb +++ b/spec/features/issues/form_spec.rb @@ -140,14 +140,10 @@ RSpec.describe 'New/edit issue', :js do end expect(find('a', text: 'Assign to me', visible: false)).not_to be_visible - click_button 'Milestone' - page.within '.issue-milestone' do - click_link milestone.title - end + click_button 'Select milestone' + click_button milestone.title expect(find('input[name="issue[milestone_id]"]', visible: false).value).to match(milestone.id.to_s) - page.within '.js-milestone-select' do - expect(page).to have_content milestone.title - end + expect(page).to have_button milestone.title click_button 'Labels' page.within '.dropdown-menu-labels' do @@ -307,14 +303,11 @@ RSpec.describe 'New/edit issue', :js do end it 'escapes milestone' do - click_button 'Milestone' + click_button 'Select milestone' + click_button milestone.title page.within '.issue-milestone' do - click_link milestone.title - end - - page.within '.js-milestone-select' do - expect(page).to have_content milestone.title + expect(page).to have_button milestone.title expect(page).not_to have_selector 'img' end end @@ -444,9 +437,7 @@ RSpec.describe 'New/edit issue', :js do expect(page).to have_content user.name end - page.within '.js-milestone-select' do - expect(page).to have_content milestone.title - end + expect(page).to have_button milestone.title click_button 'Labels' page.within '.dropdown-menu-labels' do diff --git a/spec/features/issues/user_bulk_edits_issues_labels_spec.rb b/spec/features/issues/user_bulk_edits_issues_labels_spec.rb index 4837d13574c..2a201e0bc23 100644 --- a/spec/features/issues/user_bulk_edits_issues_labels_spec.rb +++ b/spec/features/issues/user_bulk_edits_issues_labels_spec.rb @@ -417,7 +417,7 @@ RSpec.describe 'Issues > Labels bulk assignment' do click_button 'Select milestone' wait_for_requests items.map do |item| - click_link item + click_button item end end diff --git a/spec/features/issues/user_bulk_edits_issues_spec.rb b/spec/features/issues/user_bulk_edits_issues_spec.rb index 1ef2918adec..d7fad355cb4 100644 --- a/spec/features/issues/user_bulk_edits_issues_spec.rb +++ b/spec/features/issues/user_bulk_edits_issues_spec.rb @@ -80,7 +80,7 @@ RSpec.describe 'Multiple issue updating from issues#index', :js do click_button 'Edit issues' check 'Select all' click_button 'Select milestone' - click_link milestone.title + click_button milestone.title click_update_issues_button expect(page.find('.issue')).to have_content milestone.title @@ -97,7 +97,7 @@ RSpec.describe 'Multiple issue updating from issues#index', :js do click_button 'Edit issues' check 'Select all' click_button 'Select milestone' - click_link 'No milestone' + click_button 'No milestone' click_update_issues_button expect(find('.issue:first-of-type')).not_to have_text milestone.title diff --git a/spec/features/issues/user_comments_on_issue_spec.rb b/spec/features/issues/user_comments_on_issue_spec.rb index a1e7c007b90..ef00e66af7e 100644 --- a/spec/features/issues/user_comments_on_issue_spec.rb +++ b/spec/features/issues/user_comments_on_issue_spec.rb @@ -5,9 +5,9 @@ require "spec_helper" RSpec.describe "User comments on issue", :js do include Spec::Support::Helpers::Features::NotesHelpers - let(:project) { create(:project_empty_repo, :public) } - let(:issue) { create(:issue, project: project) } - let(:user) { create(:user) } + let_it_be(:project) { create(:project, :public) } + let_it_be(:issue) { create(:issue, project: project) } + let_it_be(:user) { create(:user) } before do project.add_guest(user) diff --git a/spec/features/issues/user_creates_issue_spec.rb b/spec/features/issues/user_creates_issue_spec.rb index b96490bd7e7..1d023a15159 100644 --- a/spec/features/issues/user_creates_issue_spec.rb +++ b/spec/features/issues/user_creates_issue_spec.rb @@ -188,7 +188,7 @@ RSpec.describe "User creates issue" do end it 'does not hide the milestone select' do - expect(page).to have_selector('[data-testid="issuable-milestone-dropdown"]') + expect(page).to have_button 'Select milestone' end end @@ -204,7 +204,7 @@ RSpec.describe "User creates issue" do end it 'shows the milestone select' do - expect(page).to have_selector('[data-testid="issuable-milestone-dropdown"]') + expect(page).to have_button 'Select milestone' end it 'hides the incident help text' do @@ -265,7 +265,7 @@ RSpec.describe "User creates issue" do end it 'shows the milestone select' do - expect(page).to have_selector('[data-testid="issuable-milestone-dropdown"]') + expect(page).to have_button 'Select milestone' end it 'hides the weight input' do diff --git a/spec/features/issues/user_edits_issue_spec.rb b/spec/features/issues/user_edits_issue_spec.rb index 4eecb63c47e..75df85f362f 100644 --- a/spec/features/issues/user_edits_issue_spec.rb +++ b/spec/features/issues/user_edits_issue_spec.rb @@ -101,6 +101,35 @@ RSpec.describe "Issues > User edits issue", :js do visit project_issue_path(project, issue) end + describe 'edit description' do + def click_edit_issue_description + click_on 'Edit title and description' + end + + it 'places focus on the web editor' do + toggle_editing_mode_selector = '[data-testid="toggle-editing-mode-button"] label' + content_editor_focused_selector = '[data-testid="content-editor"].is-focused' + markdown_field_focused_selector = 'textarea:focus' + click_edit_issue_description + + expect(page).to have_selector(markdown_field_focused_selector) + + find(toggle_editing_mode_selector, text: 'Rich text').click + + expect(page).not_to have_selector(content_editor_focused_selector) + + refresh + + click_edit_issue_description + + expect(page).to have_selector(content_editor_focused_selector) + + find(toggle_editing_mode_selector, text: 'Source').click + + expect(page).not_to have_selector(markdown_field_focused_selector) + end + end + describe 'update labels' do it 'will not send ajax request when no data is changed' do page.within '.labels' do @@ -186,7 +215,7 @@ RSpec.describe "Issues > User edits issue", :js do visit project_issue_path(project, issue) page.within('.assignee') do - expect(page).to have_content "#{user.name}" + expect(page).to have_content user.name.to_s click_link 'Edit' click_link 'Unassigned' @@ -261,7 +290,7 @@ RSpec.describe "Issues > User edits issue", :js do visit project_issue_path(project, issue) page.within('.assignee') do - expect(page).to have_content "#{user.name}" + expect(page).to have_content user.name.to_s click_button('Edit') wait_for_requests diff --git a/spec/features/issues/user_interacts_with_awards_spec.rb b/spec/features/issues/user_interacts_with_awards_spec.rb index 47b28b88108..a2dea7f048b 100644 --- a/spec/features/issues/user_interacts_with_awards_spec.rb +++ b/spec/features/issues/user_interacts_with_awards_spec.rb @@ -209,22 +209,25 @@ RSpec.describe 'User interacts with awards' do it 'adds award to issue' do first('[data-testid="award-button"]').click - + wait_for_requests expect(page).to have_selector('[data-testid="award-button"].selected') expect(first('[data-testid="award-button"]')).to have_content '1' visit project_issue_path(project, issue) + wait_for_requests expect(first('[data-testid="award-button"]')).to have_content '1' end it 'removes award from issue', quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/375241' do first('[data-testid="award-button"]').click + wait_for_requests find('[data-testid="award-button"].selected').click - + wait_for_requests expect(first('[data-testid="award-button"]')).to have_content '0' visit project_issue_path(project, issue) + wait_for_requests expect(first('[data-testid="award-button"]')).to have_content '0' end diff --git a/spec/features/issues/user_sees_empty_state_spec.rb b/spec/features/issues/user_sees_empty_state_spec.rb index 0e2a7cb4358..b4c5a57de4f 100644 --- a/spec/features/issues/user_sees_empty_state_spec.rb +++ b/spec/features/issues/user_sees_empty_state_spec.rb @@ -22,9 +22,9 @@ RSpec.describe 'Issues > User sees empty state', :js do it 'user sees empty state' do visit project_issues_path(project) + expect(page).to have_content('Use issues to collaborate on ideas, solve problems, and plan work') + expect(page).to have_content('Learn more about issues.') expect(page).to have_content('Register / Sign In') - expect(page).to have_content('The Issue Tracker is the place to add things that need to be improved or solved in a project.') - expect(page).to have_content('You can register or sign in to create issues for this project.') end it_behaves_like 'empty state with filters' diff --git a/spec/features/issues/user_sorts_issues_spec.rb b/spec/features/issues/user_sorts_issues_spec.rb index 7add6c782f7..2716d742be3 100644 --- a/spec/features/issues/user_sorts_issues_spec.rb +++ b/spec/features/issues/user_sorts_issues_spec.rb @@ -24,7 +24,7 @@ RSpec.describe "User sorts issues" do sign_in(user) end - it 'keeps the sort option', :js do + it 'keeps the sort option', :js, quarantine: 'https://gitlab.com/gitlab-org/gitlab/-/issues/378184' do visit(project_issues_path(project)) click_button 'Created date' |