summaryrefslogtreecommitdiff
path: root/qa
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2023-04-04 00:08:36 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2023-04-04 00:08:36 +0000
commite52198c83629b4e880f7851f9a625cad651c3819 (patch)
treef81b2926b7968800d4a86ffc7837aebc0ef5a296 /qa
parent21cf3e773d0527e95d761e7cc49bdbb2155183d3 (diff)
downloadgitlab-ce-e52198c83629b4e880f7851f9a625cad651c3819.tar.gz
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'qa')
-rw-r--r--qa/qa/page/file/show.rb2
-rw-r--r--qa/qa/page/project/menu.rb12
-rw-r--r--qa/qa/page/project/settings/main.rb1
-rw-r--r--qa/qa/page/project/show.rb3
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/analyze.rb45
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/build.rb (renamed from qa/qa/page/project/sub_menus/super_sidebar/operations.rb)34
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/code.rb (renamed from qa/qa/page/project/sub_menus/super_sidebar/repository.rb)26
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/manage.rb (renamed from qa/qa/page/project/sub_menus/super_sidebar/ci_cd.rb)22
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/monitor.rb45
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/operate.rb45
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/plan.rb18
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/project.rb29
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/secure.rb (renamed from qa/qa/page/project/sub_menus/super_sidebar/compliance.rb)10
-rw-r--r--qa/qa/page/project/sub_menus/super_sidebar/settings.rb2
-rw-r--r--qa/qa/specs/features/browser_ui/3_create/pages/new_static_page_spec.rb43
-rw-r--r--qa/qa/specs/features/browser_ui/4_verify/testing/endpoint_coverage_spec.rb3
-rw-r--r--qa/qa/specs/features/browser_ui/9_data_stores/group/transfer_project_spec.rb4
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)