diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-06 03:14:55 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-06 03:14:55 +0300 |
commit | d39c778244590f478537df87ed01dde2705350a8 (patch) | |
tree | 5792def7c7c01effeeea50eb7fba02d0a53b0169 /qa | |
parent | b7d0ee2a31d4d8b8037c07cb1df7c123d2e754b5 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'qa')
21 files changed, 143 insertions, 249 deletions
diff --git a/qa/qa/page/group/menu.rb b/qa/qa/page/group/menu.rb index c0af4af464b..46228926311 100644 --- a/qa/qa/page/group/menu.rb +++ b/qa/qa/page/group/menu.rb @@ -5,7 +5,13 @@ module QA module Group class Menu < Page::Base include SubMenus::Common - include SubMenus::SuperSidebar::Settings if Runtime::Env.super_sidebar_enabled? + + if Runtime::Env.super_sidebar_enabled? + prepend Page::SubMenus::SuperSidebar::Manage + prepend Page::SubMenus::SuperSidebar::Plan + prepend SubMenus::SuperSidebar::Settings + prepend SubMenus::SuperSidebar::Build + end def click_group_members_item hover_group_information do @@ -16,6 +22,8 @@ module QA end def click_subgroup_members_item + return go_to_members if Runtime::Env.super_sidebar_enabled? + hover_subgroup_information do within_submenu do click_element(:sidebar_menu_item_link, menu_item: 'Members') diff --git a/qa/qa/page/group/sub_menus/super_sidebar/build.rb b/qa/qa/page/group/sub_menus/super_sidebar/build.rb new file mode 100644 index 00000000000..704548c1dd0 --- /dev/null +++ b/qa/qa/page/group/sub_menus/super_sidebar/build.rb @@ -0,0 +1,25 @@ +# frozen_string_literal: true + +module QA + module Page + module Group + module SubMenus + module SuperSidebar + module Build + extend QA::Page::PageConcern + + def go_to_runners + open_build_submenu("Runners") + end + + private + + def open_build_submenu(sub_menu) + open_submenu("Build", "#build", sub_menu) + end + end + end + end + end + end +end diff --git a/qa/qa/page/group/sub_menus/super_sidebar/common.rb b/qa/qa/page/group/sub_menus/super_sidebar/common.rb deleted file mode 100644 index dc1975c0044..00000000000 --- a/qa/qa/page/group/sub_menus/super_sidebar/common.rb +++ /dev/null @@ -1,24 +0,0 @@ -# frozen_string_literal: true - -module QA - module Page - module Group - module SubMenus - module SuperSidebar - module Common - private - - def open_submenu(parent_menu_name, parent_section_id, sub_menu) - click_element(:sidebar_menu_link, menu_item: parent_menu_name) - - # TODO: it's not possible to add qa-selectors to sub-menu containers at the moment - within(parent_section_id) do - click_element(:sidebar_menu_link, menu_item: sub_menu) - end - end - end - end - end - 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 b0501454413..4478b4b93b3 100644 --- a/qa/qa/page/group/sub_menus/super_sidebar/settings.rb +++ b/qa/qa/page/group/sub_menus/super_sidebar/settings.rb @@ -8,14 +8,6 @@ module QA module Settings extend QA::Page::PageConcern - def self.included(base) - super - - base.class_eval do - include Common - end - end - def go_to_general_settings open_settings_submenu("General") end diff --git a/qa/qa/page/project/menu.rb b/qa/qa/page/project/menu.rb index 0b2ea479f17..08bd20d5468 100644 --- a/qa/qa/page/project/menu.rb +++ b/qa/qa/page/project/menu.rb @@ -16,16 +16,14 @@ module QA include SubMenus::Packages if Runtime::Env.super_sidebar_enabled? + include Page::SubMenus::SuperSidebar::Manage include SubMenus::SuperSidebar::Project - include SubMenus::SuperSidebar::Manage include SubMenus::SuperSidebar::Plan include SubMenus::SuperSidebar::Settings include SubMenus::SuperSidebar::Code include SubMenus::SuperSidebar::Build - include SubMenus::SuperSidebar::Secure include SubMenus::SuperSidebar::Operate include SubMenus::SuperSidebar::Monitor - include SubMenus::SuperSidebar::Analyze end def click_merge_requests diff --git a/qa/qa/page/project/sub_menus/issues.rb b/qa/qa/page/project/sub_menus/issues.rb index 7fa19063653..48840c29635 100644 --- a/qa/qa/page/project/sub_menus/issues.rb +++ b/qa/qa/page/project/sub_menus/issues.rb @@ -27,7 +27,7 @@ module QA end end - def go_to_boards + def go_to_issue_boards hover_issues do within_submenu do click_element(:sidebar_menu_item_link, menu_item: 'Boards') diff --git a/qa/qa/page/project/sub_menus/super_sidebar/analyze.rb b/qa/qa/page/project/sub_menus/super_sidebar/analyze.rb deleted file mode 100644 index 0a0735ee3eb..00000000000 --- a/qa/qa/page/project/sub_menus/super_sidebar/analyze.rb +++ /dev/null @@ -1,45 +0,0 @@ -# frozen_string_literal: true - -module QA - module Page - module Project - module SubMenus - module SuperSidebar - module Analyze - extend QA::Page::PageConcern - - def self.included(base) - super - - base.class_eval do - include QA::Page::Project::SubMenus::SuperSidebar::Common - end - end - - def go_to_value_stream_analytics - open_analyze_submenu('Value stream analytics') - end - - def go_to_contributor_statistics - open_analyze_submenu('Contributor statistics') - end - - def go_to_ci_cd_analytics - open_analyze_submenu('CI/CD analytics') - end - - def go_to_repository_analytics - open_analyze_submenu('Repository analytics') - end - - private - - def open_analyze_submenu(sub_menu) - open_submenu('Analyze', '#analyze', sub_menu) - 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 117aade7b1d..f5052051d6a 100644 --- a/qa/qa/page/project/sub_menus/super_sidebar/build.rb +++ b/qa/qa/page/project/sub_menus/super_sidebar/build.rb @@ -8,14 +8,6 @@ module QA module Build extend QA::Page::PageConcern - def self.included(base) - super - - base.class_eval do - include QA::Page::Project::SubMenus::SuperSidebar::Common - end - end - def go_to_pipelines open_build_submenu('Pipelines') 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 77b87da545e..8263ada5c23 100644 --- a/qa/qa/page/project/sub_menus/super_sidebar/code.rb +++ b/qa/qa/page/project/sub_menus/super_sidebar/code.rb @@ -8,14 +8,6 @@ module QA module Code extend QA::Page::PageConcern - def self.included(base) - super - - base.class_eval do - include QA::Page::Project::SubMenus::SuperSidebar::Common - end - end - def go_to_repository open_code_submenu('Repository') end diff --git a/qa/qa/page/project/sub_menus/super_sidebar/common.rb b/qa/qa/page/project/sub_menus/super_sidebar/common.rb deleted file mode 100644 index 7cb14f4189e..00000000000 --- a/qa/qa/page/project/sub_menus/super_sidebar/common.rb +++ /dev/null @@ -1,24 +0,0 @@ -# frozen_string_literal: true - -module QA - module Page - module Project - module SubMenus - module SuperSidebar - module Common - private - - def open_submenu(parent_menu_name, parent_section_id, sub_menu) - click_element(:sidebar_menu_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) - end - end - end - end - end - end - end -end diff --git a/qa/qa/page/project/sub_menus/super_sidebar/manage.rb b/qa/qa/page/project/sub_menus/super_sidebar/manage.rb deleted file mode 100644 index 40bbd3b6618..00000000000 --- a/qa/qa/page/project/sub_menus/super_sidebar/manage.rb +++ /dev/null @@ -1,45 +0,0 @@ -# frozen_string_literal: true - -module QA - module Page - module Project - module SubMenus - module SuperSidebar - module Manage - extend QA::Page::PageConcern - - def self.included(base) - super - - base.class_eval do - include QA::Page::Project::SubMenus::SuperSidebar::Common - end - end - - def go_to_activity - open_manage_submenu('Activity') - end - - def go_to_members - open_manage_submenu('Members') - end - - def go_to_labels - open_manage_submenu('Labels') - end - - def go_to_milestones - open_manage_submenu('Milestones') - end - - private - - def open_manage_submenu(sub_menu) - open_submenu('Manage', '#manage', sub_menu) - end - end - end - end - 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 2a578ba2e80..391cde6887b 100644 --- a/qa/qa/page/project/sub_menus/super_sidebar/monitor.rb +++ b/qa/qa/page/project/sub_menus/super_sidebar/monitor.rb @@ -8,14 +8,6 @@ module QA module Monitor extend QA::Page::PageConcern - def self.included(base) - super - - base.class_eval do - include QA::Page::Project::SubMenus::SuperSidebar::Common - end - end - def go_to_metrics open_monitor_submenu('Metrics') 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 f2a131d915d..5e4306c77d0 100644 --- a/qa/qa/page/project/sub_menus/super_sidebar/operate.rb +++ b/qa/qa/page/project/sub_menus/super_sidebar/operate.rb @@ -8,14 +8,6 @@ module QA module Operate extend QA::Page::PageConcern - def self.included(base) - super - - base.class_eval do - include QA::Page::Project::SubMenus::SuperSidebar::Common - end - end - def go_to_package_registry open_operate_submenu('Package Registry') end diff --git a/qa/qa/page/project/sub_menus/super_sidebar/plan.rb b/qa/qa/page/project/sub_menus/super_sidebar/plan.rb index 4ed9faeffc0..ca81837b2e2 100644 --- a/qa/qa/page/project/sub_menus/super_sidebar/plan.rb +++ b/qa/qa/page/project/sub_menus/super_sidebar/plan.rb @@ -6,32 +6,16 @@ module QA module SubMenus module SuperSidebar module Plan - extend QA::Page::PageConcern - def self.included(base) super base.class_eval do - include QA::Page::Project::SubMenus::SuperSidebar::Common + include QA::Page::SubMenus::SuperSidebar::Plan end end - def go_to_boards - open_plan_submenu("Issue boards") - end - - def go_to_service_desk - open_plan_submenu("Service Desk") - end - - def go_to_wiki - open_plan_submenu("Wiki") - end - - private - - def open_plan_submenu(sub_menu) - open_submenu("Plan", "#plan", sub_menu) + def go_to_requirements + open_plan_submenu("Requirements") end end end diff --git a/qa/qa/page/project/sub_menus/super_sidebar/project.rb b/qa/qa/page/project/sub_menus/super_sidebar/project.rb index ef3b8cc9596..0d2df959548 100644 --- a/qa/qa/page/project/sub_menus/super_sidebar/project.rb +++ b/qa/qa/page/project/sub_menus/super_sidebar/project.rb @@ -8,14 +8,6 @@ module QA module Project extend QA::Page::PageConcern - def self.included(base) - super - - base.class_eval do - include QA::Page::Project::SubMenus::Common - end - end - def click_project within_sidebar do click_element(:sidebar_menu_link, menu_item: 'Project overview') 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 4fea95a5456..1b9e35d3d37 100644 --- a/qa/qa/page/project/sub_menus/super_sidebar/secure.rb +++ b/qa/qa/page/project/sub_menus/super_sidebar/secure.rb @@ -8,18 +8,6 @@ module QA module Secure extend QA::Page::PageConcern - def self.included(base) - super - - base.class_eval do - include QA::Page::Project::SubMenus::SuperSidebar::Common - end - end - - def go_to_audit_events - open_secure_submenu('Audit events') - end - def go_to_security_configuration open_secure_submenu('Security configuration') 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 eead4f9b147..f2833239966 100644 --- a/qa/qa/page/project/sub_menus/super_sidebar/settings.rb +++ b/qa/qa/page/project/sub_menus/super_sidebar/settings.rb @@ -8,14 +8,6 @@ module QA module Settings extend QA::Page::PageConcern - def self.included(base) - super - - base.class_eval do - include QA::Page::Project::SubMenus::SuperSidebar::Common - end - end - def go_to_general_settings open_settings_submenu('General') end diff --git a/qa/qa/page/sub_menus/common.rb b/qa/qa/page/sub_menus/common.rb index 518b3b4e84e..2e3e53ac793 100644 --- a/qa/qa/page/sub_menus/common.rb +++ b/qa/qa/page/sub_menus/common.rb @@ -15,38 +15,41 @@ module QA end end - def within_sidebar + def within_sidebar(&block) wait_for_requests - within_element(sidebar_element) do - yield - end + within_element(sidebar_element, &block) end - def within_submenu(element = nil) + def within_submenu(element = nil, &block) if element - within_element(element) do - yield - end + within_element(element, &block) else - within_submenu_without_element do - yield - end + within_submenu_without_element(&block) end end private - def within_submenu_without_element - if has_css?('.fly-out-list') - within('.fly-out-list') do - yield - end - else - yield + # 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) + + # 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) end end + def within_submenu_without_element(&block) + has_css?('.fly-out-list') ? within('.fly-out-list', &block) : yield + end + def sidebar_element raise NotImplementedError end diff --git a/qa/qa/page/sub_menus/super_sidebar/manage.rb b/qa/qa/page/sub_menus/super_sidebar/manage.rb new file mode 100644 index 00000000000..ddab1b373cf --- /dev/null +++ b/qa/qa/page/sub_menus/super_sidebar/manage.rb @@ -0,0 +1,43 @@ +# frozen_string_literal: true + +module QA + module Page + module SubMenus + module SuperSidebar + 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 + + def go_to_members + open_manage_submenu('Members') + end + + def go_to_labels + open_manage_submenu('Labels') + end + + def go_to_milestones + open_manage_submenu('Milestones') + end + + private + + def open_manage_submenu(sub_menu) + open_submenu('Manage', '#manage', sub_menu) + end + end + end + 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 new file mode 100644 index 00000000000..7e966450e19 --- /dev/null +++ b/qa/qa/page/sub_menus/super_sidebar/plan.rb @@ -0,0 +1,39 @@ +# frozen_string_literal: true + +module QA + module Page + module SubMenus + module SuperSidebar + 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 + + def go_to_service_desk + open_plan_submenu("Service Desk") + end + + def go_to_wiki + open_plan_submenu("Wiki") + end + + private + + def open_plan_submenu(sub_menu) + open_submenu("Plan", "#plan", sub_menu) + end + end + end + end + end +end diff --git a/qa/qa/specs/features/browser_ui/2_plan/issue_boards/focus_mode_spec.rb b/qa/qa/specs/features/browser_ui/2_plan/issue_boards/focus_mode_spec.rb index 83e178ae4c3..7377b0ff8af 100644 --- a/qa/qa/specs/features/browser_ui/2_plan/issue_boards/focus_mode_spec.rb +++ b/qa/qa/specs/features/browser_ui/2_plan/issue_boards/focus_mode_spec.rb @@ -16,7 +16,7 @@ module QA it 'focuses on issue board', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347996' do project.visit! - Page::Project::Menu.perform(&:go_to_boards) + Page::Project::Menu.perform(&:go_to_issue_boards) Page::Component::IssueBoard::Show.perform do |show| show.click_focus_mode_button |