diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-07 06:10:32 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-07 06:10:32 +0300 |
commit | 903b588e9a8f876d0135220e46a30f82b0f05f36 (patch) | |
tree | 65f56f165bcc6c8b590b6598b70303c4b9511d49 /qa | |
parent | 75b46eb33cd5dd542c69919a8bd5338933b79ecb (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'qa')
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) |