diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-04 03:08:36 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-04-04 03:08:36 +0300 |
commit | e52198c83629b4e880f7851f9a625cad651c3819 (patch) | |
tree | f81b2926b7968800d4a86ffc7837aebc0ef5a296 /qa | |
parent | 21cf3e773d0527e95d761e7cc49bdbb2155183d3 (diff) |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'qa')
17 files changed, 246 insertions, 98 deletions
diff --git a/qa/qa/page/file/show.rb b/qa/qa/page/file/show.rb index 31899d9a0c7..011b1ea5d81 100644 --- a/qa/qa/page/file/show.rb +++ b/qa/qa/page/file/show.rb @@ -5,8 +5,6 @@ module QA module File class Show < Page::Base include Shared::CommitMessage - include Project::SubMenus::Settings - include Project::SubMenus::Common include Layout::Flash include Page::Component::BlobContent diff --git a/qa/qa/page/project/menu.rb b/qa/qa/page/project/menu.rb index 24ed2d766f1..0b2ea479f17 100644 --- a/qa/qa/page/project/menu.rb +++ b/qa/qa/page/project/menu.rb @@ -16,12 +16,16 @@ module QA include SubMenus::Packages if Runtime::Env.super_sidebar_enabled? + include SubMenus::SuperSidebar::Project + include SubMenus::SuperSidebar::Manage include SubMenus::SuperSidebar::Plan include SubMenus::SuperSidebar::Settings - include SubMenus::SuperSidebar::Repository - include SubMenus::SuperSidebar::CiCd - include SubMenus::SuperSidebar::Compliance - include SubMenus::SuperSidebar::Operations + 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/settings/main.rb b/qa/qa/page/project/settings/main.rb index 8b9b72758d8..0d45efdcb70 100644 --- a/qa/qa/page/project/settings/main.rb +++ b/qa/qa/page/project/settings/main.rb @@ -6,7 +6,6 @@ module QA module Settings class Main < Page::Base include QA::Page::Settings::Common - include SubMenus::Project include Component::Breadcrumbs include Layout::Flash diff --git a/qa/qa/page/project/show.rb b/qa/qa/page/project/show.rb index b5fce559496..09a5267feef 100644 --- a/qa/qa/page/project/show.rb +++ b/qa/qa/page/project/show.rb @@ -7,9 +7,8 @@ module QA include Layout::Flash include Page::Component::ClonePanel include Page::Component::Breadcrumbs - include Page::Project::SubMenus::Settings include Page::File::Shared::CommitMessage - include ::QA::Page::Component::Dropdown + include Page::Component::Dropdown prepend Mobile::Page::Project::Show if Runtime::Env.mobile_layout? view 'app/assets/javascripts/repository/components/preview/index.vue' do diff --git a/qa/qa/page/project/sub_menus/super_sidebar/analyze.rb b/qa/qa/page/project/sub_menus/super_sidebar/analyze.rb new file mode 100644 index 00000000000..0a0735ee3eb --- /dev/null +++ b/qa/qa/page/project/sub_menus/super_sidebar/analyze.rb @@ -0,0 +1,45 @@ +# 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/operations.rb b/qa/qa/page/project/sub_menus/super_sidebar/build.rb index 91b9cba1b3e..117aade7b1d 100644 --- a/qa/qa/page/project/sub_menus/super_sidebar/operations.rb +++ b/qa/qa/page/project/sub_menus/super_sidebar/build.rb @@ -5,7 +5,7 @@ module QA module Project module SubMenus module SuperSidebar - module Operations + module Build extend QA::Page::PageConcern def self.included(base) @@ -16,38 +16,38 @@ module QA end end - def go_to_environments - open_operations_submenu('Environments') + def go_to_pipelines + open_build_submenu('Pipelines') end - def go_to_feature_flags - open_operations_submenu('Feature flags') + def go_to_pipeline_editor + open_build_submenu('Pipeline editor') end - def go_to_releases - open_operations_submenu('Releases') + def go_to_jobs + open_build_submenu('Jobs') end - def go_to_package_registry - open_operations_submenu('Package Registry') + def go_to_schedules + open_build_submenu('Pipeline schedules') end - def go_to_infrastructure_registry - open_operations_submenu('Infrastructure Registry') + def go_to_environments + open_operations_submenu('Environments') end - def go_to_kubernetes_clusters - open_operations_submenu('Kubernetes clusters') + def go_to_feature_flags + open_operations_submenu('Feature Flags') end - def go_to_terraform - open_operations_submenu('Terraform') + def go_to_releases + open_operations_submenu('Releases') end private - def open_operations_submenu(sub_menu) - open_submenu("Operations", "#operations", sub_menu) + def open_build_submenu(sub_menu) + open_submenu('Build', '#build', sub_menu) end end end diff --git a/qa/qa/page/project/sub_menus/super_sidebar/repository.rb b/qa/qa/page/project/sub_menus/super_sidebar/code.rb index 52a9325c0b1..77b87da545e 100644 --- a/qa/qa/page/project/sub_menus/super_sidebar/repository.rb +++ b/qa/qa/page/project/sub_menus/super_sidebar/code.rb @@ -5,7 +5,7 @@ module QA module Project module SubMenus module SuperSidebar - module Repository + module Code extend QA::Page::PageConcern def self.included(base) @@ -16,42 +16,38 @@ module QA end end - def go_to_files - open_repository_submenu("Files") + def go_to_repository + open_code_submenu('Repository') end def go_to_repository_commits - open_repository_submenu("Commits") + open_code_submenu('Commits') end def go_to_repository_branches - open_repository_submenu("Branches") + open_code_submenu('Branches') end def go_to_repository_tags - open_repository_submenu("Tags") + open_code_submenu('Tags') end def go_to_snippets - open_repository_submenu("Snippets") - end - - def go_to_contributor_statistics - open_repository_submenu("Contributor statistics") + open_code_submenu('Snippets') end def go_to_graph - open_repository_submenu("Graph") + open_code_submenu('Repository graph') end def go_to_compare_revisions - open_repository_submenu("Compare revisions") + open_code_submenu('Compare revisions') end private - def open_repository_submenu(sub_menu) - open_submenu("Repository", "#repository", sub_menu) + def open_code_submenu(sub_menu) + open_submenu('Code', '#code', sub_menu) end end end diff --git a/qa/qa/page/project/sub_menus/super_sidebar/ci_cd.rb b/qa/qa/page/project/sub_menus/super_sidebar/manage.rb index 032842edc43..40bbd3b6618 100644 --- a/qa/qa/page/project/sub_menus/super_sidebar/ci_cd.rb +++ b/qa/qa/page/project/sub_menus/super_sidebar/manage.rb @@ -5,7 +5,7 @@ module QA module Project module SubMenus module SuperSidebar - module CiCd + module Manage extend QA::Page::PageConcern def self.included(base) @@ -16,26 +16,26 @@ module QA end end - def go_to_pipelines - open_ci_cd_submenu('Pipelines') + def go_to_activity + open_manage_submenu('Activity') end - def go_to_editor - open_ci_cd_submenu('Editor') + def go_to_members + open_manage_submenu('Members') end - def go_to_jobs - open_ci_cd_submenu('Jobs') + def go_to_labels + open_manage_submenu('Labels') end - def go_to_schedules - open_ci_cd_submenu('Schedules') + def go_to_milestones + open_manage_submenu('Milestones') end private - def open_ci_cd_submenu(sub_menu) - open_submenu("CI/CD", "#ci-cd", sub_menu) + def open_manage_submenu(sub_menu) + open_submenu('Manage', '#manage', 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 new file mode 100644 index 00000000000..2a578ba2e80 --- /dev/null +++ b/qa/qa/page/project/sub_menus/super_sidebar/monitor.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +module QA + module Page + module Project + module SubMenus + module SuperSidebar + 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 + + def go_to_error_tracking + open_monitor_submenu('Error tracking') + end + + def go_to_alerts + open_monitor_submenu('Alerts') + end + + def go_to_incidents + open_monitor_submenu('Incidents') + end + + private + + def open_monitor_submenu(sub_menu) + open_submenu('Monitor', '#monitor', sub_menu) + end + end + end + end + 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 new file mode 100644 index 00000000000..f2a131d915d --- /dev/null +++ b/qa/qa/page/project/sub_menus/super_sidebar/operate.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +module QA + module Page + module Project + module SubMenus + module SuperSidebar + 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 + + def go_to_infrastructure_registry + open_operate_submenu('Infrastructure Registry') + end + + def go_to_kubernetes_clusters + open_operate_submenu('Kubernetes clusters') + end + + def go_to_terraform + open_operate_submenu('Terraform') + end + + private + + def open_operate_submenu(sub_menu) + open_submenu('Operate', '#operate', sub_menu) + end + end + end + end + end + end +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 cf90ad9e955..4ed9faeffc0 100644 --- a/qa/qa/page/project/sub_menus/super_sidebar/plan.rb +++ b/qa/qa/page/project/sub_menus/super_sidebar/plan.rb @@ -16,24 +16,8 @@ module QA end end - def go_to_members - open_plan_submenu("Members") - end - - def go_to_labels - open_plan_submenu("Labels") - end - - def go_to_activity - open_plan_submenu("Activity") - end - def go_to_boards - open_plan_submenu("Boards") - end - - def go_to_milestones - open_plan_submenu("Milestones") + open_plan_submenu("Issue boards") end def go_to_service_desk diff --git a/qa/qa/page/project/sub_menus/super_sidebar/project.rb b/qa/qa/page/project/sub_menus/super_sidebar/project.rb new file mode 100644 index 00000000000..ef3b8cc9596 --- /dev/null +++ b/qa/qa/page/project/sub_menus/super_sidebar/project.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +module QA + module Page + module Project + module SubMenus + module SuperSidebar + 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') + end + end + end + end + end + end + end +end diff --git a/qa/qa/page/project/sub_menus/super_sidebar/compliance.rb b/qa/qa/page/project/sub_menus/super_sidebar/secure.rb index 98f6a04c5c6..4fea95a5456 100644 --- a/qa/qa/page/project/sub_menus/super_sidebar/compliance.rb +++ b/qa/qa/page/project/sub_menus/super_sidebar/secure.rb @@ -5,7 +5,7 @@ module QA module Project module SubMenus module SuperSidebar - module Compliance + module Secure extend QA::Page::PageConcern def self.included(base) @@ -17,17 +17,17 @@ module QA end def go_to_audit_events - open_compliance_submenu('Audit events') + open_secure_submenu('Audit events') end def go_to_security_configuration - open_compliance_submenu('Security configuration') + open_secure_submenu('Security configuration') end private - def open_compliance_submenu(sub_menu) - open_submenu("Security and Compliance", "#security-and-compliance", sub_menu) + def open_secure_submenu(sub_menu) + open_submenu('Secure', '#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 f8371385fd6..eead4f9b147 100644 --- a/qa/qa/page/project/sub_menus/super_sidebar/settings.rb +++ b/qa/qa/page/project/sub_menus/super_sidebar/settings.rb @@ -51,7 +51,7 @@ module QA private def open_settings_submenu(sub_menu) - open_submenu("Settings", "#settings", sub_menu) + open_submenu('Settings', '#settings', sub_menu) end end end diff --git a/qa/qa/specs/features/browser_ui/3_create/pages/new_static_page_spec.rb b/qa/qa/specs/features/browser_ui/3_create/pages/new_static_page_spec.rb index a214af19fca..ed4bd7c6980 100644 --- a/qa/qa/specs/features/browser_ui/3_create/pages/new_static_page_spec.rb +++ b/qa/qa/specs/features/browser_ui/3_create/pages/new_static_page_spec.rb @@ -2,15 +2,15 @@ module QA RSpec.describe 'Create', - :gitlab_pages, - :orchestrated, - except: { job: 'review-qa-*' }, - quarantine: { - issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/383215', - type: :test_environment, - only: { subdomain: 'staging-ref' } - }, - feature_flag: { name: 'show_pages_in_deployments_menu' } do + :gitlab_pages, + :orchestrated, + except: { job: 'review-qa-*' }, + quarantine: { + issue: 'https://gitlab.com/gitlab-org/gitlab/-/issues/383215', + type: :test_environment, + only: { subdomain: 'staging-ref' } + }, + feature_flag: { name: 'show_pages_in_deployments_menu' } do # TODO: Convert back to :smoke once proved to be stable. Related issue: https://gitlab.com/gitlab-org/gitlab/-/issues/300906 describe 'Pages', product_group: :editor do let!(:project) do @@ -23,9 +23,10 @@ module QA let(:pipeline) do Resource::Pipeline.fabricate_via_api! do |pipeline| pipeline.project = project - pipeline.variables = + pipeline.variables = [ { key: :CI_PAGES_DOMAIN, value: 'nip.io', variable_type: :env_var }, { key: :CI_PAGES_URL, value: 'http://127.0.0.1.nip.io', variable_type: :env_var } + ] end end @@ -46,7 +47,7 @@ module QA end it 'creates a Pages website', - testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347669' do + testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347669' do Page::Project::Pipeline::Show.perform do |show| expect(show).to have_job(:pages) show.click_job(:pages) @@ -56,14 +57,18 @@ module QA expect(show).to have_passed(timeout: 300) end - Page::Project::Show.perform(&:go_to_pages_settings) - QA::Page::Project::Settings::Pages.perform do |pages| - pages.go_to_access_page - Support::Waiter.wait_until(sleep_interval: 2, max_duration: 60, reload_page: page, - retry_on_exception: true) do - expect(page).to have_content( - 'This is a simple plain-HTML website on GitLab Pages, without any fancy static site generator.') - end + Page::Project::Menu.perform(&:go_to_pages_settings) + Page::Project::Settings::Pages.perform(&:go_to_access_page) + + Support::Waiter.wait_until( + sleep_interval: 2, + max_duration: 60, + reload_page: page, + retry_on_exception: true + ) do + expect(page).to have_content( + 'This is a simple plain-HTML website on GitLab Pages, without any fancy static site generator.' + ) end end end diff --git a/qa/qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb b/qa/qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb index e7ab515c672..e2bb6c33513 100644 --- a/qa/qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb +++ b/qa/qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb @@ -40,8 +40,7 @@ module QA testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/360837' ) do # create a CI variable via UI - Page::Project::Show.perform(&:go_to_ci_cd_settings) - + Page::Project::Menu.perform(&:go_to_ci_cd_settings) Page::Project::Settings::CiCd.perform do |ci_cd| ci_cd.expand_ci_variables do |vars| vars.click_add_variable diff --git a/qa/qa/specs/features/browser_ui/9_data_stores/group/transfer_project_spec.rb b/qa/qa/specs/features/browser_ui/9_data_stores/group/transfer_project_spec.rb index 41fd083c12c..02e1598d6e7 100644 --- a/qa/qa/specs/features/browser_ui/9_data_stores/group/transfer_project_spec.rb +++ b/qa/qa/specs/features/browser_ui/9_data_stores/group/transfer_project_spec.rb @@ -37,7 +37,7 @@ module QA it 'user transfers a project between groups', testcase: 'https://gitlab.com/gitlab-org/gitlab/-/quality/test_cases/347878' do - Page::File::Show.perform(&:go_to_general_settings) + Page::Project::Menu.perform(&:go_to_general_settings) Page::Project::Settings::Main.perform(&:expand_advanced_settings) @@ -45,7 +45,7 @@ module QA advanced.transfer_project!(project.name, target_group.full_path) end - Page::Project::Settings::Main.perform(&:click_project) + Page::Project::Menu.perform(&:click_project) Page::Project::Show.perform do |project| expect(project).to have_breadcrumb(target_group.path) |