diff options
Diffstat (limited to 'qa/qa/page/project')
34 files changed, 180 insertions, 186 deletions
diff --git a/qa/qa/page/project/artifact/show.rb b/qa/qa/page/project/artifact/show.rb new file mode 100644 index 00000000000..437363d4a98 --- /dev/null +++ b/qa/qa/page/project/artifact/show.rb @@ -0,0 +1,19 @@ +# frozen_string_literal: true + +module QA + module Page + module Project + module Artifact + class Show < QA::Page::Base + view 'app/views/projects/artifacts/_tree_directory.html.haml' do + element :directory_name_link + end + + def go_to_directory(name) + click_element(:directory_name_link, directory_name: name) + end + end + end + end + end +end diff --git a/qa/qa/page/project/commit/show.rb b/qa/qa/page/project/commit/show.rb index f732eb6565e..bc44a4e5e72 100644 --- a/qa/qa/page/project/commit/show.rb +++ b/qa/qa/page/project/commit/show.rb @@ -11,11 +11,18 @@ module QA view 'app/assets/javascripts/projects/commit/components/commit_options_dropdown.vue' do element :options_button + element :revert_button element :cherry_pick_button element :email_patches element :plain_diff end + def revert_commit + click_element(:options_button) + click_element(:revert_button, Page::Component::CommitModal) + click_element(:submit_commit_button) + end + def cherry_pick_commit click_element(:options_button) click_element(:cherry_pick_button, Page::Component::CommitModal) diff --git a/qa/qa/page/project/issue/index.rb b/qa/qa/page/project/issue/index.rb index 10ddd52719a..fc46f7a2936 100644 --- a/qa/qa/page/project/issue/index.rb +++ b/qa/qa/page/project/issue/index.rb @@ -85,4 +85,4 @@ module QA end end -QA::Page::Project::Issue::Index.prepend_if_ee('QA::EE::Page::Project::Issue::Index') +QA::Page::Project::Issue::Index.prepend_mod_with('Page::Project::Issue::Index', namespace: QA) diff --git a/qa/qa/page/project/issue/show.rb b/qa/qa/page/project/issue/show.rb index db2f5f9b3dc..7a5a153db86 100644 --- a/qa/qa/page/project/issue/show.rb +++ b/qa/qa/page/project/issue/show.rb @@ -70,4 +70,4 @@ module QA end end -QA::Page::Project::Issue::Show.prepend_if_ee('QA::EE::Page::Project::Issue::Show') +QA::Page::Project::Issue::Show.prepend_mod_with('Page::Project::Issue::Show', namespace: QA) diff --git a/qa/qa/page/project/job/show.rb b/qa/qa/page/project/job/show.rb index 8c70d0874c4..78b6bebe02e 100644 --- a/qa/qa/page/project/job/show.rb +++ b/qa/qa/page/project/job/show.rb @@ -75,4 +75,4 @@ module QA end end -QA::Page::Project::Job::Show.prepend_if_ee('QA::EE::Page::Project::Job::Show') +QA::Page::Project::Job::Show.prepend_mod_with('Page::Project::Job::Show', namespace: QA) diff --git a/qa/qa/page/project/menu.rb b/qa/qa/page/project/menu.rb index cb7323ac62d..ffabaf30374 100644 --- a/qa/qa/page/project/menu.rb +++ b/qa/qa/page/project/menu.rb @@ -13,29 +13,15 @@ module QA include SubMenus::Settings include SubMenus::Packages - view 'app/views/layouts/nav/sidebar/_project_menus.html.haml' do - element :merge_requests_link - element :snippets_link - element :members_link - end - - view 'app/views/layouts/nav/sidebar/_wiki_link.html.haml' do - element :wiki_link - end - - view 'app/views/shared/nav/_sidebar_menu_item.html.haml' do - element :sidebar_menu_item_link - end - def click_merge_requests within_sidebar do - click_element(:merge_requests_link) + click_element(:sidebar_menu_link, menu_item: 'Merge requests') end end def click_wiki within_sidebar do - click_element(:wiki_link) + click_element(:sidebar_menu_link, menu_item: 'Wiki') end end @@ -47,13 +33,13 @@ module QA def click_snippets within_sidebar do - click_element(:snippets_link) + click_element(:sidebar_menu_link, menu_item: 'Snippets') end end def click_members within_sidebar do - click_element(:members_link) + click_element(:sidebar_menu_link, menu_item: 'Members') end end end @@ -61,4 +47,4 @@ module QA end end -QA::Page::Project::Menu.prepend_if_ee('QA::EE::Page::Project::Menu') +QA::Page::Project::Menu.prepend_mod_with('Page::Project::Menu', namespace: QA) diff --git a/qa/qa/page/project/new.rb b/qa/qa/page/project/new.rb index d1033dbfca9..b14afa90442 100644 --- a/qa/qa/page/project/new.rb +++ b/qa/qa/page/project/new.rb @@ -4,13 +4,9 @@ module QA module Page module Project class New < Page::Base - include Page::Component::Select2 include Page::Component::Project::Templates - - view 'app/views/projects/new.html.haml' do - element :project_create_from_template_tab - element :import_project_tab, "Import project" # rubocop:disable QA/ElementWithPattern - end + include Page::Component::Select2 + include Page::Component::VisibilitySetting view 'app/views/projects/_new_project_fields.html.haml' do element :initialize_with_readme_checkbox @@ -28,6 +24,19 @@ module QA element :template_option_row end + view 'app/assets/javascripts/vue_shared/new_namespace/components/welcome.vue' do + element :blank_project_link, ':data-qa-selector="`${panel.name}_link`"' # rubocop:disable QA/ElementWithPattern + element :create_from_template_link, ':data-qa-selector="`${panel.name}_link`"' # rubocop:disable QA/ElementWithPattern + end + + def click_blank_project_link + click_element :blank_project_link + end + + def click_create_from_template_link + click_element :create_from_template_link + end + def choose_test_namespace choose_namespace(Runtime::Namespace.path) end @@ -75,4 +84,4 @@ module QA end end -QA::Page::Project::New.prepend_if_ee('QA::EE::Page::Project::New') +QA::Page::Project::New.prepend_mod_with('Page::Project::New', namespace: QA) diff --git a/qa/qa/page/project/new_experiment.rb b/qa/qa/page/project/new_experiment.rb deleted file mode 100644 index 813f7f6cefe..00000000000 --- a/qa/qa/page/project/new_experiment.rb +++ /dev/null @@ -1,26 +0,0 @@ -# frozen_string_literal: true - -module QA - module Page - module Project - class NewExperiment < Page::Base - view 'app/assets/javascripts/projects/experiment_new_project_creation/components/welcome.vue' do - element :blank_project_link, ':data-qa-selector="`${panel.name}_link`"' # rubocop:disable QA/ElementWithPattern - element :create_from_template_link, ':data-qa-selector="`${panel.name}_link`"' # rubocop:disable QA/ElementWithPattern - end - - def shown? - has_element? :blank_project_link - end - - def click_blank_project_link - click_element :blank_project_link - end - - def click_create_from_template_link - click_element :create_from_template_link - end - end - end - end -end diff --git a/qa/qa/page/project/operations/metrics/show.rb b/qa/qa/page/project/operations/metrics/show.rb index 6e8a52ab2e6..22a7f1eed8f 100644 --- a/qa/qa/page/project/operations/metrics/show.rb +++ b/qa/qa/page/project/operations/metrics/show.rb @@ -134,4 +134,4 @@ module QA end end -QA::Page::Project::Operations::Metrics::Show.prepend_if_ee('QA::EE::Page::Project::Operations::Metrics::Show') +QA::Page::Project::Operations::Metrics::Show.prepend_mod_with('Page::Project::Operations::Metrics::Show', namespace: QA) diff --git a/qa/qa/page/project/packages/index.rb b/qa/qa/page/project/packages/index.rb index 396d3373b8a..7794677b9b5 100644 --- a/qa/qa/page/project/packages/index.rb +++ b/qa/qa/page/project/packages/index.rb @@ -27,4 +27,4 @@ module QA end end -QA::Page::Project::Packages::Index.prepend_if_ee('QA::EE::Page::Project::Packages::Index') +QA::Page::Project::Packages::Index.prepend_mod_with('Page::Project::Packages::Index', namespace: QA) diff --git a/qa/qa/page/project/pipeline/index.rb b/qa/qa/page/project/pipeline/index.rb index 3cb466abce9..f7c5d149593 100644 --- a/qa/qa/page/project/pipeline/index.rb +++ b/qa/qa/page/project/pipeline/index.rb @@ -67,4 +67,4 @@ module QA end end -QA::Page::Project::Pipeline::Index.prepend_if_ee('QA::EE::Page::Project::Pipeline::Index') +QA::Page::Project::Pipeline::Index.prepend_mod_with('Page::Project::Pipeline::Index', namespace: QA) diff --git a/qa/qa/page/project/pipeline/show.rb b/qa/qa/page/project/pipeline/show.rb index c5887b84be6..d45eeac46f6 100644 --- a/qa/qa/page/project/pipeline/show.rb +++ b/qa/qa/page/project/pipeline/show.rb @@ -117,4 +117,4 @@ module QA end end -QA::Page::Project::Pipeline::Show.prepend_if_ee('QA::EE::Page::Project::Pipeline::Show') +QA::Page::Project::Pipeline::Show.prepend_mod_with('Page::Project::Pipeline::Show', namespace: QA) diff --git a/qa/qa/page/project/settings/ci_cd.rb b/qa/qa/page/project/settings/ci_cd.rb index 7224fdae10e..c537db34a51 100644 --- a/qa/qa/page/project/settings/ci_cd.rb +++ b/qa/qa/page/project/settings/ci_cd.rb @@ -43,4 +43,4 @@ module QA end end -QA::Page::Project::Settings::CICD.prepend_if_ee("QA::EE::Page::Project::Settings::CICD") +QA::Page::Project::Settings::CICD.prepend_mod_with("Page::Project::Settings::CICD", namespace: QA) diff --git a/qa/qa/page/project/settings/deploy_keys.rb b/qa/qa/page/project/settings/deploy_keys.rb index 8d655b0684e..467799a14fb 100644 --- a/qa/qa/page/project/settings/deploy_keys.rb +++ b/qa/qa/page/project/settings/deploy_keys.rb @@ -6,59 +6,64 @@ module QA module Settings class DeployKeys < Page::Base view 'app/views/shared/deploy_keys/_form.html.haml' do - element :deploy_key_title, 'text_field :title' # rubocop:disable QA/ElementWithPattern - element :deploy_key_key, 'text_area :key' # rubocop:disable QA/ElementWithPattern + element :deploy_key_title_field + element :deploy_key_field + end + + view 'app/views/shared/deploy_keys/_project_group_form.html.haml' do + element :deploy_key_title_field + element :deploy_key_field + element :add_deploy_key_button end view 'app/assets/javascripts/deploy_keys/components/app.vue' do - element :deploy_keys_section, /class=".*deploy\-keys.*"/ # rubocop:disable QA/ElementWithPattern - element :project_deploy_keys + element :project_deploy_keys_container end view 'app/assets/javascripts/deploy_keys/components/key.vue' do - element :key - element :key_title - element :key_md5_fingerprint + element :key_container + element :key_title_content + element :key_md5_fingerprint_content end def add_key - click_on 'Add key' + click_element(:add_deploy_key_button) end def fill_key_title(title) - fill_in 'deploy_key_title', with: title + fill_element(:deploy_key_title_field, title) end def fill_key_value(key) - fill_in 'deploy_key_key', with: key + fill_element(:deploy_key_field, key) end def find_md5_fingerprint(title) within_project_deploy_keys do - find_element(:key, text: title) - .find(element_selector_css(:key_md5_fingerprint)).text.delete_prefix('MD5:') + find_element(:key_container, text: title) + .find(element_selector_css(:key_md5_fingerprint_content)).text.delete_prefix('MD5:') end end def has_key?(title, md5_fingerprint) within_project_deploy_keys do - find_element(:key, text: title) - .has_css?(element_selector_css(:key_md5_fingerprint), text: "MD5:#{md5_fingerprint}") + find_element(:key_container, text: title) + .has_css?(element_selector_css(:key_md5_fingerprint_content), text: "MD5:#{md5_fingerprint}") end end def key_title within_project_deploy_keys do - find_element(:key_title).text + find_element(:key_title_content).text end end private def within_project_deploy_keys - has_element?(:project_deploy_keys, wait: QA::Support::Repeater::DEFAULT_MAX_WAIT_TIME) + has_element?(:project_deploy_keys_container, wait: QA::Support::Repeater::DEFAULT_MAX_WAIT_TIME) - within_element(:project_deploy_keys) do + within_element(:project_deploy_keys_container) do yield end end diff --git a/qa/qa/page/project/settings/deploy_tokens.rb b/qa/qa/page/project/settings/deploy_tokens.rb index 3c3ed4f8716..b26cae86d8b 100644 --- a/qa/qa/page/project/settings/deploy_tokens.rb +++ b/qa/qa/page/project/settings/deploy_tokens.rb @@ -6,54 +6,54 @@ module QA module Settings class DeployTokens < Page::Base view 'app/views/shared/deploy_tokens/_form.html.haml' do - element :deploy_token_name - element :deploy_token_expires_at - element :deploy_token_read_repository - element :deploy_token_read_registry - element :create_deploy_token + element :deploy_token_name_field + element :deploy_token_expires_at_field + element :deploy_token_read_repository_checkbox + element :deploy_token_read_registry_checkbox + element :create_deploy_token_button end view 'app/views/shared/deploy_tokens/_new_deploy_token.html.haml' do - element :created_deploy_token_section - element :deploy_token_user - element :deploy_token + element :created_deploy_token_container + element :deploy_token_user_field + element :deploy_token_field end def fill_token_name(name) - fill_element :deploy_token_name, name + fill_element(:deploy_token_name_field, name) end def fill_token_expires_at(expires_at) - fill_element :deploy_token_expires_at, expires_at.to_s + "\n" + fill_element(:deploy_token_expires_at_field, expires_at.to_s + "\n") end def fill_scopes(read_repository:, read_registry:) - check_element :deploy_token_read_repository if read_repository - check_element :deploy_token_read_registry if read_registry + check_element(:deploy_token_read_repository_checkbox) if read_repository + check_element(:deploy_token_read_registry_checkbox) if read_registry end def add_token - click_element :create_deploy_token + click_element(:create_deploy_token_button) end def token_username within_new_project_deploy_token do - find_element(:deploy_token_user).value + find_element(:deploy_token_user_field).value end end def token_password within_new_project_deploy_token do - find_element(:deploy_token).value + find_element(:deploy_token_field).value end end private def within_new_project_deploy_token - has_element?(:created_deploy_token_section, wait: QA::Support::Repeater::DEFAULT_MAX_WAIT_TIME) + has_element?(:created_deploy_token_container, wait: QA::Support::Repeater::DEFAULT_MAX_WAIT_TIME) - within_element(:created_deploy_token_section) do + within_element(:created_deploy_token_container) do yield end end diff --git a/qa/qa/page/project/settings/integrations.rb b/qa/qa/page/project/settings/integrations.rb index 6f5c50eac52..420dcb63918 100644 --- a/qa/qa/page/project/settings/integrations.rb +++ b/qa/qa/page/project/settings/integrations.rb @@ -23,4 +23,4 @@ module QA end end -QA::Page::Project::Settings::Integrations.prepend_if_ee('QA::EE::Page::Project::Settings::Integrations') +QA::Page::Project::Settings::Integrations.prepend_mod_with('Page::Project::Settings::Integrations', namespace: QA) diff --git a/qa/qa/page/project/settings/main.rb b/qa/qa/page/project/settings/main.rb index 48af635bb79..5efcb7bf23c 100644 --- a/qa/qa/page/project/settings/main.rb +++ b/qa/qa/page/project/settings/main.rb @@ -57,4 +57,4 @@ module QA end end -QA::Page::Project::Settings::Main.prepend_if_ee("QA::EE::Page::Project::Settings::Main") +QA::Page::Project::Settings::Main.prepend_mod_with("Page::Project::Settings::Main", namespace: QA) diff --git a/qa/qa/page/project/settings/merge_request.rb b/qa/qa/page/project/settings/merge_request.rb index 0b4a12dbb2e..dbe804bfdd0 100644 --- a/qa/qa/page/project/settings/merge_request.rb +++ b/qa/qa/page/project/settings/merge_request.rb @@ -12,7 +12,7 @@ module QA end view 'app/views/projects/_merge_request_merge_method_settings.html.haml' do - element :merge_ff_radio_button + element :merge_ff_radio end view 'app/views/projects/_merge_request_merge_checks_settings.html.haml' do @@ -24,7 +24,7 @@ module QA end def enable_ff_only - click_element(:merge_ff_radio_button) + choose_element(:merge_ff_radio) click_save_changes end @@ -38,4 +38,4 @@ module QA end end -QA::Page::Project::Settings::MergeRequest.prepend_if_ee("QA::EE::Page::Project::Settings::MergeRequest") +QA::Page::Project::Settings::MergeRequest.prepend_mod_with("Page::Project::Settings::MergeRequest", namespace: QA) diff --git a/qa/qa/page/project/settings/mirroring_repositories.rb b/qa/qa/page/project/settings/mirroring_repositories.rb index ce369c90a9f..5e7b68858c8 100644 --- a/qa/qa/page/project/settings/mirroring_repositories.rb +++ b/qa/qa/page/project/settings/mirroring_repositories.rb @@ -129,4 +129,4 @@ module QA end end -QA::Page::Project::Settings::MirroringRepositories.prepend_if_ee('QA::EE::Page::Project::Settings::MirroringRepositories') +QA::Page::Project::Settings::MirroringRepositories.prepend_mod_with('Page::Project::Settings::MirroringRepositories', namespace: QA) diff --git a/qa/qa/page/project/settings/protected_branches.rb b/qa/qa/page/project/settings/protected_branches.rb index 6616921f34c..308cf6366a7 100644 --- a/qa/qa/page/project/settings/protected_branches.rb +++ b/qa/qa/page/project/settings/protected_branches.rb @@ -69,4 +69,4 @@ module QA end end -QA::Page::Project::Settings::ProtectedBranches.prepend_if_ee('QA::EE::Page::Project::Settings::ProtectedBranches') +QA::Page::Project::Settings::ProtectedBranches.prepend_mod_with('Page::Project::Settings::ProtectedBranches', namespace: QA) diff --git a/qa/qa/page/project/settings/protected_tags.rb b/qa/qa/page/project/settings/protected_tags.rb index bf8f349cfd5..d9f383154f9 100644 --- a/qa/qa/page/project/settings/protected_tags.rb +++ b/qa/qa/page/project/settings/protected_tags.rb @@ -43,4 +43,4 @@ module QA end end -QA::Page::Project::Settings::ProtectedTags.prepend_if_ee('QA::EE::Page::Project::Settings::ProtectedTags') +QA::Page::Project::Settings::ProtectedTags.prepend_mod_with('Page::Project::Settings::ProtectedTags', namespace: QA) diff --git a/qa/qa/page/project/settings/repository.rb b/qa/qa/page/project/settings/repository.rb index 407c131fa73..a02b3d6a7d6 100644 --- a/qa/qa/page/project/settings/repository.rb +++ b/qa/qa/page/project/settings/repository.rb @@ -62,4 +62,4 @@ module QA end end -QA::Page::Project::Settings::Repository.prepend_if_ee('QA::EE::Page::Project::Settings::Repository') +QA::Page::Project::Settings::Repository.prepend_mod_with('Page::Project::Settings::Repository', namespace: QA) diff --git a/qa/qa/page/project/show.rb b/qa/qa/page/project/show.rb index d8c6b3881bd..c174d4b0c3f 100644 --- a/qa/qa/page/project/show.rb +++ b/qa/qa/page/project/show.rb @@ -147,7 +147,7 @@ module QA end def open_web_ide! - click_element :web_ide_button + click_element(:web_ide_button) end def has_edit_fork_button? @@ -180,4 +180,4 @@ module QA end end -QA::Page::Project::Show.prepend_if_ee('QA::EE::Page::Project::Show') +QA::Page::Project::Show.prepend_mod_with('Page::Project::Show', namespace: QA) diff --git a/qa/qa/page/project/snippet/index.rb b/qa/qa/page/project/snippet/index.rb index a221abc4196..fc677f96769 100644 --- a/qa/qa/page/project/snippet/index.rb +++ b/qa/qa/page/project/snippet/index.rb @@ -26,4 +26,4 @@ module QA end end -QA::Page::Project::Snippet::Index.prepend_if_ee('QA::EE::Page::Project::Snippet::Index') +QA::Page::Project::Snippet::Index.prepend_mod_with('Page::Project::Snippet::Index', namespace: QA) diff --git a/qa/qa/page/project/sub_menus/ci_cd.rb b/qa/qa/page/project/sub_menus/ci_cd.rb index 398712c04d2..7cb2fd6c655 100644 --- a/qa/qa/page/project/sub_menus/ci_cd.rb +++ b/qa/qa/page/project/sub_menus/ci_cd.rb @@ -12,16 +12,12 @@ module QA base.class_eval do include QA::Page::Project::SubMenus::Common - - view 'app/views/layouts/nav/sidebar/_project_menus.html.haml' do - element :link_pipelines - end end end def click_ci_cd_pipelines within_sidebar do - click_element :link_pipelines + click_element(:sidebar_menu_link, menu_item: 'CI/CD') end end end diff --git a/qa/qa/page/project/sub_menus/common.rb b/qa/qa/page/project/sub_menus/common.rb index 85bf932be4a..c20710bc393 100644 --- a/qa/qa/page/project/sub_menus/common.rb +++ b/qa/qa/page/project/sub_menus/common.rb @@ -8,6 +8,20 @@ module QA extend QA::Page::PageConcern include QA::Page::SubMenus::Common + def self.included(base) + super + + base.class_eval do + view 'app/views/shared/nav/_sidebar_menu_item.html.haml' do + element :sidebar_menu_item_link + end + + view 'app/views/shared/nav/_sidebar_menu.html.haml' do + element :sidebar_menu_link + end + end + end + private def sidebar_element diff --git a/qa/qa/page/project/sub_menus/issues.rb b/qa/qa/page/project/sub_menus/issues.rb index 384af3fb53e..1df93d1118b 100644 --- a/qa/qa/page/project/sub_menus/issues.rb +++ b/qa/qa/page/project/sub_menus/issues.rb @@ -12,32 +12,25 @@ module QA base.class_eval do include QA::Page::Project::SubMenus::Common - - view 'app/views/layouts/nav/sidebar/_project_menus.html.haml' do - element :issue_boards_link - element :issues_item - element :labels_link - element :milestones_link - end end end def click_issues within_sidebar do - click_link('Issues') + click_element(:sidebar_menu_link, menu_item: 'Issues') end end def click_milestones within_sidebar do - click_element :milestones_link + click_element(:sidebar_menu_item_link, menu_item: 'Milestones') end end def go_to_boards hover_issues do within_submenu do - click_element(:issue_boards_link) + click_element(:sidebar_menu_item_link, menu_item: 'Boards') end end end @@ -45,7 +38,7 @@ module QA def go_to_labels hover_issues do within_submenu do - click_element(:labels_link) + click_element(:sidebar_menu_item_link, menu_item: 'Labels') end end end @@ -53,7 +46,7 @@ module QA def go_to_milestones hover_issues do within_submenu do - click_element(:milestones_link) + click_element(:sidebar_menu_item_link, menu_item: 'Milestones') end end end @@ -62,8 +55,8 @@ module QA def hover_issues within_sidebar do - scroll_to_element(:issues_item) - find_element(:issues_item).hover + scroll_to_element(:sidebar_menu_link, menu_item: 'Issues') + find_element(:sidebar_menu_link, menu_item: 'Issues').hover yield end diff --git a/qa/qa/page/project/sub_menus/operations.rb b/qa/qa/page/project/sub_menus/operations.rb index af716d1af0d..077da697a63 100644 --- a/qa/qa/page/project/sub_menus/operations.rb +++ b/qa/qa/page/project/sub_menus/operations.rb @@ -12,20 +12,13 @@ module QA base.class_eval do include QA::Page::Project::SubMenus::Common - - view 'app/views/layouts/nav/sidebar/_project_menus.html.haml' do - element :operations_link - element :operations_environments_link - element :operations_metrics_link - element :operations_incidents_link - end end end def go_to_operations_environments hover_operations do within_submenu do - click_element(:operations_environments_link) + click_element(:sidebar_menu_item_link, menu_item: 'Environments') end end end @@ -33,7 +26,7 @@ module QA def go_to_operations_metrics hover_operations do within_submenu do - click_element(:operations_metrics_link) + click_element(:sidebar_menu_item_link, menu_item: 'Metrics') end end end @@ -49,7 +42,7 @@ module QA def go_to_operations_incidents hover_operations do within_submenu do - click_element(:operations_incidents_link) + click_element(:sidebar_menu_item_link, menu_item: 'Incidents') end end end @@ -58,8 +51,8 @@ module QA def hover_operations within_sidebar do - scroll_to_element(:operations_link) - find_element(:operations_link).hover + scroll_to_element(:sidebar_menu_link, menu_item: 'Operations') + find_element(:sidebar_menu_link, menu_item: 'Operations').hover yield end diff --git a/qa/qa/page/project/sub_menus/packages.rb b/qa/qa/page/project/sub_menus/packages.rb index 46eae01e10d..88e2101a86d 100644 --- a/qa/qa/page/project/sub_menus/packages.rb +++ b/qa/qa/page/project/sub_menus/packages.rb @@ -7,19 +7,11 @@ module QA module Packages extend QA::Page::PageConcern - def self.included(base) - super - - base.class_eval do - view 'app/views/layouts/nav/sidebar/_project_packages_link.html.haml' do - element :packages_link - end - end - end - def click_packages_link - within_sidebar do - click_element :packages_link + hover_registry do + within_submenu do + click_element(:sidebar_menu_item_link, menu_item: 'Package Registry') + end end end @@ -35,8 +27,8 @@ module QA def hover_registry within_sidebar do - scroll_to_element(:packages_link) - find_element(:packages_link).hover + scroll_to_element(:sidebar_menu_link, menu_item: 'Packages & Registries') + find_element(:sidebar_menu_link, menu_item: 'Packages & Registries').hover yield end diff --git a/qa/qa/page/project/sub_menus/project.rb b/qa/qa/page/project/sub_menus/project.rb index ecb3148b486..5499a0f71e3 100644 --- a/qa/qa/page/project/sub_menus/project.rb +++ b/qa/qa/page/project/sub_menus/project.rb @@ -12,10 +12,6 @@ module QA base.class_eval do include QA::Page::Project::SubMenus::Common - - view 'app/views/shared/nav/_sidebar_menu.html.haml' do - element :sidebar_menu_link - end end end diff --git a/qa/qa/page/project/sub_menus/repository.rb b/qa/qa/page/project/sub_menus/repository.rb index 458f0cddab6..e35828ecd6a 100644 --- a/qa/qa/page/project/sub_menus/repository.rb +++ b/qa/qa/page/project/sub_menus/repository.rb @@ -12,14 +12,6 @@ module QA base.class_eval do include QA::Page::Project::SubMenus::Common - - view 'app/views/shared/nav/_sidebar_menu_item.html.haml' do - element :sidebar_menu_item_link - end - - view 'app/views/shared/nav/_sidebar_menu.html.haml' do - element :sidebar_menu_link - end end end diff --git a/qa/qa/page/project/sub_menus/settings.rb b/qa/qa/page/project/sub_menus/settings.rb index 531c4686345..80f62c8efde 100644 --- a/qa/qa/page/project/sub_menus/settings.rb +++ b/qa/qa/page/project/sub_menus/settings.rb @@ -12,21 +12,13 @@ module QA base.class_eval do include QA::Page::Project::SubMenus::Common - - view 'app/views/layouts/nav/sidebar/_project_menus.html.haml' do - element :settings_item - element :general_settings_link - element :integrations_settings_link - element :operations_settings_link - element :access_tokens_settings_link - end end end def go_to_ci_cd_settings hover_settings do within_submenu do - click_link('CI/CD') + click_element(:sidebar_menu_item_link, menu_item: 'CI/CD') end end end @@ -34,7 +26,7 @@ module QA def go_to_repository_settings hover_settings do within_submenu do - click_link('Repository') + click_element(:sidebar_menu_item_link, menu_item: 'Repository') end end end @@ -42,21 +34,21 @@ module QA def go_to_general_settings hover_settings do within_submenu do - click_element :general_settings_link + click_element(:sidebar_menu_item_link, menu_item: 'General') end end end def click_settings within_sidebar do - click_on 'Settings' + click_element(:sidebar_menu_link, menu_item: 'Settings') end end def go_to_integrations_settings hover_settings do within_submenu do - click_element :integrations_settings_link + click_element(:sidebar_menu_item_link, menu_item: 'Integrations') end end end @@ -64,7 +56,7 @@ module QA def go_to_operations_settings hover_settings do within_submenu do - click_element :operations_settings_link + click_element(:sidebar_menu_item_link, menu_item: 'Operations') end end end @@ -72,7 +64,7 @@ module QA def go_to_access_token_settings hover_settings do within_submenu do - click_element :access_tokens_settings_link + click_element(:sidebar_menu_item_link, menu_item: 'Access Tokens') end end end @@ -81,8 +73,8 @@ module QA def hover_settings within_sidebar do - scroll_to_element(:settings_item) - find_element(:settings_item).hover + scroll_to_element(:sidebar_menu_link, menu_item: 'Settings') + find_element(:sidebar_menu_link, menu_item: 'Settings').hover yield end diff --git a/qa/qa/page/project/web_ide/edit.rb b/qa/qa/page/project/web_ide/edit.rb index fd68ac0de16..78b2db7d723 100644 --- a/qa/qa/page/project/web_ide/edit.rb +++ b/qa/qa/page/project/web_ide/edit.rb @@ -18,8 +18,8 @@ module QA end view 'app/assets/javascripts/ide/components/ide_tree.vue' do - element :new_file_button - element :new_directory_button + element :new_file_button, required: true + element :new_directory_button, required: true end view 'app/assets/javascripts/ide/components/ide_tree_list.vue' do @@ -36,7 +36,7 @@ module QA end view 'app/assets/javascripts/ide/components/commit_sidebar/actions.vue' do - element :commit_to_current_branch_radio + element :commit_to_current_branch_radio_container end view 'app/assets/javascripts/ide/components/commit_sidebar/form.vue' do @@ -44,6 +44,10 @@ module QA element :commit_button end + view 'app/assets/javascripts/ide/components/commit_sidebar/radio_group.vue' do + element :commit_type_radio + end + view 'app/assets/javascripts/ide/components/repo_editor.vue' do element :editor_container end @@ -216,7 +220,9 @@ module QA # animation is still in process even when the buttons have the # expected visibility. commit_success = retry_until(sleep_interval: 5) do - click_element(:commit_to_current_branch_radio) if has_element?(:commit_to_current_branch_radio) + within_element(:commit_to_current_branch_radio_container) do + choose_element(:commit_type_radio) + end click_element(:commit_button) if has_element?(:commit_button) # If this is the first commit, the commit SHA only appears after reloading @@ -299,10 +305,30 @@ module QA def switch_to_commit_tab click_element(:commit_mode_tab) end + + def select_file(file_name) + # wait for the list of files to load + wait_until(reload: true) do + has_element?(:file_name_content, file_name: file_name) + end + click_element(:file_name_content, file_name: file_name) + end + + def link_line(line_number) + previous_url = page.current_url + wait_for_animated_element(:editor_container) + within_element(:editor_container) do + find('.line-numbers', text: line_number).hover.click + end + wait_until(max_duration: 5, reload: false) do + page.current_url != previous_url + end + page.current_url.to_s + end end end end end end -QA::Page::Project::WebIDE::Edit.prepend_if_ee('QA::EE::Page::Component::WebIDE::WebTerminalPanel') +QA::Page::Project::WebIDE::Edit.prepend_mod_with('Page::Component::WebIDE::WebTerminalPanel', namespace: QA) diff --git a/qa/qa/page/project/wiki/show.rb b/qa/qa/page/project/wiki/show.rb index f3573e3cdd3..ac42405563a 100644 --- a/qa/qa/page/project/wiki/show.rb +++ b/qa/qa/page/project/wiki/show.rb @@ -14,4 +14,4 @@ module QA end end -QA::Page::Project::Wiki::Show.prepend_if_ee('QA::EE::Page::Project::Wiki::Show') +QA::Page::Project::Wiki::Show.prepend_mod_with('Page::Project::Wiki::Show', namespace: QA) |