summaryrefslogtreecommitdiff
path: root/qa
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-04-07 03:10:32 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-04-07 03:10:32 +0000
commit903b588e9a8f876d0135220e46a30f82b0f05f36 (patch)
tree65f56f165bcc6c8b590b6598b70303c4b9511d49 /qa
parent75b46eb33cd5dd542c69919a8bd5338933b79ecb (diff)
downloadgitlab-ce-903b588e9a8f876d0135220e46a30f82b0f05f36.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'qa')
-rw-r--r--qa/qa/page/group/sub_menus/super_sidebar/build.rb2
-rw-r--r--qa/qa/page/group/sub_menus/super_sidebar/settings.rb2
-rw-r--r--qa/qa/page/main/menu.rb1
-rw-r--r--qa/qa/page/project/menu.rb1
-rw-r--r--qa/qa/page/project/show.rb9
-rw-r--r--qa/qa/page/project/sub_menus/create_new_menu.rb54
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/build.rb2
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/code.rb2
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/monitor.rb18
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/operate.rb2
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/secure.rb2
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/settings.rb2
-rw-r--r--qa/qa/page/sub_menus/common.rb18
-rw-r--r--qa/qa/page/sub_menus/create_new_menu.rb41
-rw-r--r--qa/qa/page/sub_menus/super_sidebar/manage.rb10
-rw-r--r--qa/qa/page/sub_menus/super_sidebar/plan.rb10
-rw-r--r--qa/qa/resource/issue.rb2
-rw-r--r--qa/qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb2
18 files changed, 134 insertions, 46 deletions
diff --git a/qa/qa/page/group/sub_menus/super_sidebar/build.rb b/qa/qa/page/group/sub_menus/super_sidebar/build.rb
index 704548c1dd0..0b8bf030622 100644
--- a/qa/qa/page/group/sub_menus/super_sidebar/build.rb
+++ b/qa/qa/page/group/sub_menus/super_sidebar/build.rb
@@ -15,7 +15,7 @@ module QA
private
def open_build_submenu(sub_menu)
- open_submenu("Build", "#build", sub_menu)
+ open_submenu("Build", sub_menu)
end
end
end
diff --git a/qa/qa/page/group/sub_menus/super_sidebar/settings.rb b/qa/qa/page/group/sub_menus/super_sidebar/settings.rb
index 4478b4b93b3..7f94e3c378b 100644
--- a/qa/qa/page/group/sub_menus/super_sidebar/settings.rb
+++ b/qa/qa/page/group/sub_menus/super_sidebar/settings.rb
@@ -15,7 +15,7 @@ module QA
private
def open_settings_submenu(sub_menu)
- open_submenu("Settings", "#settings", sub_menu)
+ open_submenu("Settings", sub_menu)
end
end
end
diff --git a/qa/qa/page/main/menu.rb b/qa/qa/page/main/menu.rb
index 7b6a3f953e5..c21b1a4ca3c 100644
--- a/qa/qa/page/main/menu.rb
+++ b/qa/qa/page/main/menu.rb
@@ -5,6 +5,7 @@ module QA
module Main
class Menu < Page::Base
prepend Mobile::Page::Main::Menu if Runtime::Env.mobile_layout?
+ prepend SubMenus::CreateNewMenu if Runtime::Env.super_sidebar_enabled?
if QA::Runtime::Env.super_sidebar_enabled?
# Define alternative navbar (super sidebar) which does not yet implement all the same elements
diff --git a/qa/qa/page/project/menu.rb b/qa/qa/page/project/menu.rb
index 08bd20d5468..4f91484e5a8 100644
--- a/qa/qa/page/project/menu.rb
+++ b/qa/qa/page/project/menu.rb
@@ -14,6 +14,7 @@ module QA
include SubMenus::Repository
include SubMenus::Settings
include SubMenus::Packages
+ include SubMenus::CreateNewMenu
if Runtime::Env.super_sidebar_enabled?
include Page::SubMenus::SuperSidebar::Manage
diff --git a/qa/qa/page/project/show.rb b/qa/qa/page/project/show.rb
index 09a5267feef..8a71544fea9 100644
--- a/qa/qa/page/project/show.rb
+++ b/qa/qa/page/project/show.rb
@@ -27,10 +27,6 @@ module QA
element :new_menu_toggle
end
- view 'app/helpers/nav/new_dropdown_helper.rb' do
- element :new_issue_link
- end
-
view 'app/views/projects/_last_push.html.haml' do
element :create_merge_request_button
end
@@ -117,11 +113,6 @@ module QA
end
end
- def go_to_new_issue
- click_element(:new_menu_toggle)
- click_element(:new_issue_link)
- end
-
def has_create_merge_request_button?
has_css?(element_selector_css(:create_merge_request_button))
end
diff --git a/qa/qa/page/project/sub_menus/create_new_menu.rb b/qa/qa/page/project/sub_menus/create_new_menu.rb
new file mode 100644
index 00000000000..cfb91c29d5e
--- /dev/null
+++ b/qa/qa/page/project/sub_menus/create_new_menu.rb
@@ -0,0 +1,54 @@
+# frozen_string_literal: true
+
+module QA
+ module Page
+ module Project
+ module SubMenus
+ module CreateNewMenu
+ extend QA::Page::PageConcern
+
+ def self.included(base)
+ super
+
+ base.class_eval do
+ # TODO: remove this when the super sidebar is enabled by default
+ view 'app/helpers/nav/new_dropdown_helper.rb' do
+ element :new_issue_link
+ end
+
+ view 'app/helpers/sidebars_helper.rb' do
+ element :create_menu_item
+ end
+ end
+ end
+
+ def go_to_new_issue
+ within_new_item_menu do
+ next click_element(:new_issue_link) unless QA::Runtime::Env.super_sidebar_enabled?
+
+ click_element(:create_menu_item, create_menu_item: 'new_issue')
+ end
+ end
+
+ def go_to_new_merge_request
+ within_new_item_menu do
+ click_element(:create_menu_item, create_menu_item: 'new_mr')
+ end
+ end
+
+ def go_to_new_project_snippet
+ within_new_item_menu do
+ click_element(:create_menu_item, create_menu_item: 'new_snippet')
+ end
+ end
+
+ def go_to_invite_members
+ within_new_item_menu do
+ click_element(:create_menu_item, create_menu_item: 'invite')
+ end
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/qa/qa/page/project/sub_menus/super_sidebar/build.rb b/qa/qa/page/project/sub_menus/super_sidebar/build.rb
index f5052051d6a..7d772d9d192 100644
--- a/qa/qa/page/project/sub_menus/super_sidebar/build.rb
+++ b/qa/qa/page/project/sub_menus/super_sidebar/build.rb
@@ -39,7 +39,7 @@ module QA
private
def open_build_submenu(sub_menu)
- open_submenu('Build', '#build', sub_menu)
+ open_submenu('Build', sub_menu)
end
end
end
diff --git a/qa/qa/page/project/sub_menus/super_sidebar/code.rb b/qa/qa/page/project/sub_menus/super_sidebar/code.rb
index 8263ada5c23..44d46725b47 100644
--- a/qa/qa/page/project/sub_menus/super_sidebar/code.rb
+++ b/qa/qa/page/project/sub_menus/super_sidebar/code.rb
@@ -39,7 +39,7 @@ module QA
private
def open_code_submenu(sub_menu)
- open_submenu('Code', '#code', sub_menu)
+ open_submenu('Code', sub_menu)
end
end
end
diff --git a/qa/qa/page/project/sub_menus/super_sidebar/monitor.rb b/qa/qa/page/project/sub_menus/super_sidebar/monitor.rb
index 391cde6887b..745dda06bb5 100644
--- a/qa/qa/page/project/sub_menus/super_sidebar/monitor.rb
+++ b/qa/qa/page/project/sub_menus/super_sidebar/monitor.rb
@@ -8,26 +8,34 @@ module QA
module Monitor
extend QA::Page::PageConcern
- def go_to_metrics
+ def go_to_monitor_metrics
open_monitor_submenu('Metrics')
end
- def go_to_error_tracking
+ def go_to_monitor_error_tracking
open_monitor_submenu('Error tracking')
end
- def go_to_alerts
+ def go_to_monitor_alerts
open_monitor_submenu('Alerts')
end
- def go_to_incidents
+ def go_to_monitor_incidents
open_monitor_submenu('Incidents')
end
+ def go_to_monitor_escalation_policies
+ open_monitor_submenu('Escalation Policies')
+ end
+
+ def go_to_monitor_on_call_schedules
+ open_monitor_submenu('On-call Schedules')
+ end
+
private
def open_monitor_submenu(sub_menu)
- open_submenu('Monitor', '#monitor', sub_menu)
+ open_submenu('Monitor', sub_menu)
end
end
end
diff --git a/qa/qa/page/project/sub_menus/super_sidebar/operate.rb b/qa/qa/page/project/sub_menus/super_sidebar/operate.rb
index 5e4306c77d0..f86033ce447 100644
--- a/qa/qa/page/project/sub_menus/super_sidebar/operate.rb
+++ b/qa/qa/page/project/sub_menus/super_sidebar/operate.rb
@@ -27,7 +27,7 @@ module QA
private
def open_operate_submenu(sub_menu)
- open_submenu('Operate', '#operate', sub_menu)
+ open_submenu('Operate', sub_menu)
end
end
end
diff --git a/qa/qa/page/project/sub_menus/super_sidebar/secure.rb b/qa/qa/page/project/sub_menus/super_sidebar/secure.rb
index 1b9e35d3d37..ab1717a447a 100644
--- a/qa/qa/page/project/sub_menus/super_sidebar/secure.rb
+++ b/qa/qa/page/project/sub_menus/super_sidebar/secure.rb
@@ -15,7 +15,7 @@ module QA
private
def open_secure_submenu(sub_menu)
- open_submenu('Secure', '#secure', sub_menu)
+ open_submenu('Secure', sub_menu)
end
end
end
diff --git a/qa/qa/page/project/sub_menus/super_sidebar/settings.rb b/qa/qa/page/project/sub_menus/super_sidebar/settings.rb
index f2833239966..2d5ad29207f 100644
--- a/qa/qa/page/project/sub_menus/super_sidebar/settings.rb
+++ b/qa/qa/page/project/sub_menus/super_sidebar/settings.rb
@@ -43,7 +43,7 @@ module QA
private
def open_settings_submenu(sub_menu)
- open_submenu('Settings', '#settings', sub_menu)
+ open_submenu('Settings', sub_menu)
end
end
end
diff --git a/qa/qa/page/sub_menus/common.rb b/qa/qa/page/sub_menus/common.rb
index 2e3e53ac793..e04ac3be64f 100644
--- a/qa/qa/page/sub_menus/common.rb
+++ b/qa/qa/page/sub_menus/common.rb
@@ -31,18 +31,26 @@ module QA
private
+ # Opens the new item menu and yields to the block
+ #
+ # @return [void]
+ def within_new_item_menu
+ click_element(:new_menu_toggle)
+
+ yield
+ end
+
# Implementation for super-sidebar, will replace within_submenu
#
# @param [String] parent_menu_name
# @param [String] parent_section_id
# @param [String] sub_menu
# @return [void]
- def open_submenu(parent_menu_name, parent_section_id, sub_menu)
- click_element(:sidebar_menu_link, menu_item: parent_menu_name)
+ def open_submenu(parent_menu_name, sub_menu)
+ click_element(:nav_item_link, menu_item: parent_menu_name)
- # TODO: it's not possible to add qa-selectors to sub-menu container
- within(parent_section_id) do
- click_element(:sidebar_menu_link, menu_item: sub_menu)
+ within_element(:menu_section, section: parent_menu_name) do
+ click_element(:nav_item_link, submenu_item: sub_menu)
end
end
diff --git a/qa/qa/page/sub_menus/create_new_menu.rb b/qa/qa/page/sub_menus/create_new_menu.rb
new file mode 100644
index 00000000000..1f8641827be
--- /dev/null
+++ b/qa/qa/page/sub_menus/create_new_menu.rb
@@ -0,0 +1,41 @@
+# frozen_string_literal: true
+
+module QA
+ module Page
+ module SubMenus
+ module CreateNewMenu
+ extend QA::Page::PageConcern
+
+ def self.prepended(base)
+ super
+
+ base.class_eval do
+ include QA::Page::SubMenus::Common
+
+ view 'app/helpers/sidebars_helper.rb' do
+ element :create_menu_item
+ end
+ end
+ end
+
+ def go_to_create_project
+ within_new_item_menu do
+ click_element(:create_menu_item, create_menu_item: 'general_new_project')
+ end
+ end
+
+ def go_to_create_snippet
+ within_new_item_menu do
+ click_element(:create_menu_item, create_menu_item: 'general_new_snippet')
+ end
+ end
+
+ def go_to_create_group
+ within_new_item_menu do
+ click_element(:create_menu_item, create_menu_item: 'general_new_group')
+ end
+ end
+ end
+ end
+ end
+end
diff --git a/qa/qa/page/sub_menus/super_sidebar/manage.rb b/qa/qa/page/sub_menus/super_sidebar/manage.rb
index ddab1b373cf..535b29e607f 100644
--- a/qa/qa/page/sub_menus/super_sidebar/manage.rb
+++ b/qa/qa/page/sub_menus/super_sidebar/manage.rb
@@ -7,14 +7,6 @@ module QA
module Manage
extend QA::Page::PageConcern
- def self.included(base)
- super
-
- base.class_eval do
- include QA::Page::SubMenus::Common
- end
- end
-
def go_to_activity
open_manage_submenu('Activity')
end
@@ -34,7 +26,7 @@ module QA
private
def open_manage_submenu(sub_menu)
- open_submenu('Manage', '#manage', sub_menu)
+ open_submenu('Manage', sub_menu)
end
end
end
diff --git a/qa/qa/page/sub_menus/super_sidebar/plan.rb b/qa/qa/page/sub_menus/super_sidebar/plan.rb
index 7e966450e19..e4b9fcf099c 100644
--- a/qa/qa/page/sub_menus/super_sidebar/plan.rb
+++ b/qa/qa/page/sub_menus/super_sidebar/plan.rb
@@ -7,14 +7,6 @@ module QA
module Plan
extend QA::Page::PageConcern
- def self.included(base)
- super
-
- base.class_eval do
- include QA::Page::SubMenus::Common
- end
- end
-
def go_to_issue_boards
open_plan_submenu("Issue boards")
end
@@ -30,7 +22,7 @@ module QA
private
def open_plan_submenu(sub_menu)
- open_submenu("Plan", "#plan", sub_menu)
+ open_submenu("Plan", sub_menu)
end
end
end
diff --git a/qa/qa/resource/issue.rb b/qa/qa/resource/issue.rb
index 15c2c25757f..fb957ccf285 100644
--- a/qa/qa/resource/issue.rb
+++ b/qa/qa/resource/issue.rb
@@ -30,7 +30,7 @@ module QA
def fabricate!
project.visit!
- Page::Project::Show.perform(&:go_to_new_issue)
+ Page::Project::Menu.perform(&:go_to_new_issue)
Page::Project::Issue::New.perform do |new_page|
new_page.fill_title(@title)
diff --git a/qa/qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb
index 45541939606..c85ea5e8a69 100644
--- a/qa/qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb
+++ b/qa/qa/specs/features/browser_ui/2_plan/issue/issue_suggestions_spec.rb
@@ -14,7 +14,7 @@ module QA
end
it 'shows issue suggestions when creating a new issue', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347995' do
- Page::Project::Show.perform(&:go_to_new_issue)
+ Page::Project::Menu.perform(&:go_to_new_issue)
Page::Project::Issue::New.perform do |new_page|
new_page.fill_title("issue")
expect(new_page).to have_content(issue_title)