diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-20 23:50:22 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-04-20 23:50:22 +0000 |
commit | 9dc93a4519d9d5d7be48ff274127136236a3adb3 (patch) | |
tree | 70467ae3692a0e35e5ea56bcb803eb512a10bedb /qa/qa/page/project | |
parent | 4b0f34b6d759d6299322b3a54453e930c6121ff0 (diff) | |
download | gitlab-ce-9dc93a4519d9d5d7be48ff274127136236a3adb3.tar.gz |
Add latest changes from gitlab-org/gitlab@13-11-stable-eev13.11.0-rc43
Diffstat (limited to 'qa/qa/page/project')
-rw-r--r-- | qa/qa/page/project/commit/show.rb | 12 | ||||
-rw-r--r-- | qa/qa/page/project/fork/new.rb | 14 | ||||
-rw-r--r-- | qa/qa/page/project/menu.rb | 9 | ||||
-rw-r--r-- | qa/qa/page/project/pipeline/index.rb | 7 | ||||
-rw-r--r-- | qa/qa/page/project/pipeline/show.rb | 20 | ||||
-rw-r--r-- | qa/qa/page/project/settings/access_tokens.rb | 15 | ||||
-rw-r--r-- | qa/qa/page/project/settings/ci_cd.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/settings/integrations.rb | 6 | ||||
-rw-r--r-- | qa/qa/page/project/settings/merge_request.rb | 4 | ||||
-rw-r--r-- | qa/qa/page/project/settings/runners.rb | 7 | ||||
-rw-r--r-- | qa/qa/page/project/settings/services/jira.rb | 31 | ||||
-rw-r--r-- | qa/qa/page/project/show.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/sub_menus/ci_cd.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/sub_menus/issues.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/sub_menus/operations.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/sub_menus/project.rb | 6 | ||||
-rw-r--r-- | qa/qa/page/project/sub_menus/repository.rb | 18 | ||||
-rw-r--r-- | qa/qa/page/project/sub_menus/settings.rb | 11 |
18 files changed, 126 insertions, 44 deletions
diff --git a/qa/qa/page/project/commit/show.rb b/qa/qa/page/project/commit/show.rb index 8ece81f7088..f732eb6565e 100644 --- a/qa/qa/page/project/commit/show.rb +++ b/qa/qa/page/project/commit/show.rb @@ -6,10 +6,20 @@ module QA module Commit class Show < Page::Base view 'app/views/projects/commit/_commit_box.html.haml' do + element :commit_sha_content + end + + view 'app/assets/javascripts/projects/commit/components/commit_options_dropdown.vue' do element :options_button + element :cherry_pick_button element :email_patches element :plain_diff - element :commit_sha_content + end + + def cherry_pick_commit + click_element(:options_button) + click_element(:cherry_pick_button, Page::Component::CommitModal) + click_element(:submit_commit_button) end def select_email_patches diff --git a/qa/qa/page/project/fork/new.rb b/qa/qa/page/project/fork/new.rb index bbdd4748f5c..5a08f6a3cbd 100644 --- a/qa/qa/page/project/fork/new.rb +++ b/qa/qa/page/project/fork/new.rb @@ -13,8 +13,18 @@ module QA element :fork_groups_list_search_field end - def choose_namespace(namespace = Runtime::Namespace.path) - click_element(:fork_namespace_button, name: namespace) + view 'app/assets/javascripts/pages/projects/forks/new/components/fork_form.vue' do + element :fork_namespace_dropdown + element :fork_project_button + end + + def fork_project(namespace = Runtime::Namespace.path) + if has_element?(:fork_namespace_button, wait: 0) + click_element(:fork_namespace_button, name: namespace) + else + select_element(:fork_namespace_dropdown, namespace) + click_element(:fork_project_button) + end end def search_for_group(group_name) diff --git a/qa/qa/page/project/menu.rb b/qa/qa/page/project/menu.rb index 16c66ea5761..cb7323ac62d 100644 --- a/qa/qa/page/project/menu.rb +++ b/qa/qa/page/project/menu.rb @@ -13,8 +13,7 @@ module QA include SubMenus::Settings include SubMenus::Packages - view 'app/views/layouts/nav/sidebar/_project.html.haml' do - element :activity_link + view 'app/views/layouts/nav/sidebar/_project_menus.html.haml' do element :merge_requests_link element :snippets_link element :members_link @@ -24,6 +23,10 @@ module QA 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) @@ -38,7 +41,7 @@ module QA def click_activity within_sidebar do - click_element(:activity_link) + click_element(:sidebar_menu_item_link, menu_item: 'Activity') end end diff --git a/qa/qa/page/project/pipeline/index.rb b/qa/qa/page/project/pipeline/index.rb index 0f5a7e8c801..3cb466abce9 100644 --- a/qa/qa/page/project/pipeline/index.rb +++ b/qa/qa/page/project/pipeline/index.rb @@ -9,8 +9,11 @@ module QA element :pipeline_url_link end - view 'app/assets/javascripts/pipelines/components/pipelines_list/pipelines_table_row.vue' do + view 'app/assets/javascripts/pipelines/components/pipelines_list/pipelines_status_badge.vue' do element :pipeline_commit_status + end + + view 'app/assets/javascripts/pipelines/components/pipelines_list/pipeline_operations.vue' do element :pipeline_retry_button end @@ -31,7 +34,7 @@ module QA end def wait_for_latest_pipeline_status - wait_until(max_duration: 30, reload: true, sleep_interval: 5) { has_pipeline? } + wait_until(max_duration: 90, reload: true, sleep_interval: 5) { has_pipeline? } wait_until(reload: false, max_duration: 360) do within_element_by_index(:pipeline_commit_status, 0) { yield } diff --git a/qa/qa/page/project/pipeline/show.rb b/qa/qa/page/project/pipeline/show.rb index 994b1c02a3d..c5887b84be6 100644 --- a/qa/qa/page/project/pipeline/show.rb +++ b/qa/qa/page/project/pipeline/show.rb @@ -68,20 +68,30 @@ module QA end end - def has_child_pipeline? - has_element? :child_pipeline + def has_child_pipeline?(title: nil) + title ? find_child_pipeline_by_title(title) : has_element?(:child_pipeline) end def has_no_child_pipeline? - has_no_element? :child_pipeline + has_no_element?(:child_pipeline) end def click_job(job_name) click_element(:job_link, Project::Job::Show, text: job_name) end - def expand_child_pipeline - within_element(:child_pipeline) do + def child_pipelines + all_elements(:child_pipeline, minimum: 1) + end + + def find_child_pipeline_by_title(title) + child_pipelines.find { |pipeline| pipeline[:title].include?(title) } + end + + def expand_child_pipeline(title: nil) + child_pipeline = title ? find_child_pipeline_by_title(title) : child_pipelines.first + + within_element_by_index(:child_pipeline, child_pipelines.index(child_pipeline)) do click_element(:expand_pipeline_button) end end diff --git a/qa/qa/page/project/settings/access_tokens.rb b/qa/qa/page/project/settings/access_tokens.rb new file mode 100644 index 00000000000..d559ca4daaa --- /dev/null +++ b/qa/qa/page/project/settings/access_tokens.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true + +require 'date' + +module QA + module Page + module Project + module Settings + class AccessTokens < Page::Base + include Page::Component::AccessTokens + end + end + end + end +end diff --git a/qa/qa/page/project/settings/ci_cd.rb b/qa/qa/page/project/settings/ci_cd.rb index 7a910233d12..7224fdae10e 100644 --- a/qa/qa/page/project/settings/ci_cd.rb +++ b/qa/qa/page/project/settings/ci_cd.rb @@ -42,3 +42,5 @@ module QA end end end + +QA::Page::Project::Settings::CICD.prepend_if_ee("QA::EE::Page::Project::Settings::CICD") diff --git a/qa/qa/page/project/settings/integrations.rb b/qa/qa/page/project/settings/integrations.rb index dd676c86486..6f5c50eac52 100644 --- a/qa/qa/page/project/settings/integrations.rb +++ b/qa/qa/page/project/settings/integrations.rb @@ -5,9 +5,9 @@ module QA module Project module Settings class Integrations < QA::Page::Base - view 'app/views/shared/integrations/_index.html.haml' do - element :prometheus_link, 'data: { qa_selector: "#{integration.to_param' # rubocop:disable QA/ElementWithPattern - element :jira_link, 'data: { qa_selector: "#{integration.to_param' # rubocop:disable QA/ElementWithPattern + view 'app/assets/javascripts/integrations/index/components/integrations_table.vue' do + element :prometheus_link, %q(:data-qa-selector="`${item.name}_link`") # rubocop:disable QA/ElementWithPattern + element :jira_link, %q(:data-qa-selector="`${item.name}_link`") # rubocop:disable QA/ElementWithPattern end def click_on_prometheus_integration diff --git a/qa/qa/page/project/settings/merge_request.rb b/qa/qa/page/project/settings/merge_request.rb index fe5d629effe..0b4a12dbb2e 100644 --- a/qa/qa/page/project/settings/merge_request.rb +++ b/qa/qa/page/project/settings/merge_request.rb @@ -20,11 +20,11 @@ module QA end def click_save_changes - click_element :save_merge_request_changes_button + click_element(:save_merge_request_changes_button) end def enable_ff_only - click_element :merge_ff_radio_button + click_element(:merge_ff_radio_button) click_save_changes end diff --git a/qa/qa/page/project/settings/runners.rb b/qa/qa/page/project/settings/runners.rb index af4dbb08430..aa1ac216ae2 100644 --- a/qa/qa/page/project/settings/runners.rb +++ b/qa/qa/page/project/settings/runners.rb @@ -10,12 +10,9 @@ module QA element :coordinator_address, '%code#coordinator_address' # rubocop:disable QA/ElementWithPattern end - ## - # TODO, phase-out CSS classes added in Ruby helpers. - # view 'app/helpers/ci/runners_helper.rb' do # rubocop:disable Lint/InterpolationCheck - element :runner_status, 'runner-status-#{status}' # rubocop:disable QA/ElementWithPattern + element :runner_status_icon, 'qa_selector: "runner_status_#{status}_content"' # rubocop:disable QA/ElementWithPattern # rubocop:enable Lint/InterpolationCheck end @@ -28,7 +25,7 @@ module QA end def has_online_runner? - page.has_css?('.runner-status-online') + has_element?(:runner_status_online_content) end end end diff --git a/qa/qa/page/project/settings/services/jira.rb b/qa/qa/page/project/settings/services/jira.rb index eaa3e90db78..0a56aaa758e 100644 --- a/qa/qa/page/project/settings/services/jira.rb +++ b/qa/qa/page/project/settings/services/jira.rb @@ -10,7 +10,13 @@ module QA element :service_url_field, ':data-qa-selector="`${fieldId}_field`"' # rubocop:disable QA/ElementWithPattern element :service_username_field, ':data-qa-selector="`${fieldId}_field`"' # rubocop:disable QA/ElementWithPattern element :service_password_field, ':data-qa-selector="`${fieldId}_field`"' # rubocop:disable QA/ElementWithPattern - element :service_jira_issue_transition_id_field, ':data-qa-selector="`${fieldId}_field`"' # rubocop:disable QA/ElementWithPattern + end + + view 'app/assets/javascripts/integrations/edit/components/jira_trigger_fields.vue' do + element :service_jira_issue_transition_enabled_checkbox + element :service_jira_issue_transition_automatic_true_radio, ':data-qa-selector="`service_jira_issue_transition_automatic_${issueTransitionOption.value}_radio`"' # rubocop:disable QA/ElementWithPattern + element :service_jira_issue_transition_automatic_false_radio, ':data-qa-selector="`service_jira_issue_transition_automatic_${issueTransitionOption.value}_radio`"' # rubocop:disable QA/ElementWithPattern + element :service_jira_issue_transition_id_field end view 'app/assets/javascripts/integrations/edit/components/integration_form.vue' do @@ -23,7 +29,10 @@ module QA set_jira_server_url(url) set_username(Runtime::Env.jira_admin_username) set_password(Runtime::Env.jira_admin_password) - set_transaction_ids('11,21,31,41') + + enable_transitions + use_custom_transitions + set_transition_ids('11,21,31,41') click_save_changes_button wait_until(reload: false) do @@ -45,12 +54,24 @@ module QA fill_element(:service_password_field, password) end - def set_transaction_ids(transaction_ids) - fill_element(:service_jira_issue_transition_id_field, transaction_ids) + def enable_transitions + check_element(:service_jira_issue_transition_enabled_checkbox, true) + end + + def use_automatic_transitions + choose_element(:service_jira_issue_transition_automatic_true_radio, true) + end + + def use_custom_transitions + choose_element(:service_jira_issue_transition_automatic_false_radio, true) + end + + def set_transition_ids(transition_ids) + fill_element(:service_jira_issue_transition_id_field, transition_ids) end def click_save_changes_button - click_element :save_changes_button + click_element(:save_changes_button) end end end diff --git a/qa/qa/page/project/show.rb b/qa/qa/page/project/show.rb index d2c258b90b5..d8c6b3881bd 100644 --- a/qa/qa/page/project/show.rb +++ b/qa/qa/page/project/show.rb @@ -22,7 +22,7 @@ module QA element :file_tree_table end - view 'app/views/layouts/header/_new_dropdown.haml' do + view 'app/views/layouts/header/_new_dropdown.html.haml' do element :new_menu_toggle element :new_issue_link, "link_to _('New issue'), new_project_issue_path(@project)" # rubocop:disable QA/ElementWithPattern end diff --git a/qa/qa/page/project/sub_menus/ci_cd.rb b/qa/qa/page/project/sub_menus/ci_cd.rb index 9405ea97fff..398712c04d2 100644 --- a/qa/qa/page/project/sub_menus/ci_cd.rb +++ b/qa/qa/page/project/sub_menus/ci_cd.rb @@ -13,7 +13,7 @@ module QA base.class_eval do include QA::Page::Project::SubMenus::Common - view 'app/views/layouts/nav/sidebar/_project.html.haml' do + view 'app/views/layouts/nav/sidebar/_project_menus.html.haml' do element :link_pipelines end end diff --git a/qa/qa/page/project/sub_menus/issues.rb b/qa/qa/page/project/sub_menus/issues.rb index 124faf0d346..384af3fb53e 100644 --- a/qa/qa/page/project/sub_menus/issues.rb +++ b/qa/qa/page/project/sub_menus/issues.rb @@ -13,7 +13,7 @@ module QA base.class_eval do include QA::Page::Project::SubMenus::Common - view 'app/views/layouts/nav/sidebar/_project.html.haml' do + view 'app/views/layouts/nav/sidebar/_project_menus.html.haml' do element :issue_boards_link element :issues_item element :labels_link diff --git a/qa/qa/page/project/sub_menus/operations.rb b/qa/qa/page/project/sub_menus/operations.rb index 042994062c7..af716d1af0d 100644 --- a/qa/qa/page/project/sub_menus/operations.rb +++ b/qa/qa/page/project/sub_menus/operations.rb @@ -13,7 +13,7 @@ module QA base.class_eval do include QA::Page::Project::SubMenus::Common - view 'app/views/layouts/nav/sidebar/_project.html.haml' do + view 'app/views/layouts/nav/sidebar/_project_menus.html.haml' do element :operations_link element :operations_environments_link element :operations_metrics_link diff --git a/qa/qa/page/project/sub_menus/project.rb b/qa/qa/page/project/sub_menus/project.rb index 4af640301b9..ecb3148b486 100644 --- a/qa/qa/page/project/sub_menus/project.rb +++ b/qa/qa/page/project/sub_menus/project.rb @@ -13,8 +13,8 @@ module QA base.class_eval do include QA::Page::Project::SubMenus::Common - view 'app/views/layouts/nav/sidebar/_project.html.haml' do - element :project_link + view 'app/views/shared/nav/_sidebar_menu.html.haml' do + element :sidebar_menu_link end end end @@ -22,7 +22,7 @@ module QA def click_project retry_on_exception do within_sidebar do - click_element(:project_link) + click_element(:sidebar_menu_link, menu_item: 'Project overview') end end end diff --git a/qa/qa/page/project/sub_menus/repository.rb b/qa/qa/page/project/sub_menus/repository.rb index c78c7521b64..458f0cddab6 100644 --- a/qa/qa/page/project/sub_menus/repository.rb +++ b/qa/qa/page/project/sub_menus/repository.rb @@ -13,24 +13,26 @@ module QA base.class_eval do include QA::Page::Project::SubMenus::Common - view 'app/views/layouts/nav/sidebar/_project.html.haml' do - element :repository_link - element :branches_link - element :tags_link + 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 def click_repository within_sidebar do - click_element(:repository_link) + click_element(:sidebar_menu_link, menu_item: 'Repository') end end def go_to_repository_branches hover_repository do within_submenu do - click_element(:branches_link) + click_element(:sidebar_menu_item_link, menu_item: 'Branches') end end end @@ -38,7 +40,7 @@ module QA def go_to_repository_tags hover_repository do within_submenu do - click_element(:tags_link) + click_element(:sidebar_menu_item_link, menu_item: 'Tags') end end end @@ -47,7 +49,7 @@ module QA def hover_repository within_sidebar do - find_element(:repository_link).hover + find_element(:sidebar_menu_link, menu_item: 'Repository').hover yield end diff --git a/qa/qa/page/project/sub_menus/settings.rb b/qa/qa/page/project/sub_menus/settings.rb index b5058bacccd..531c4686345 100644 --- a/qa/qa/page/project/sub_menus/settings.rb +++ b/qa/qa/page/project/sub_menus/settings.rb @@ -13,11 +13,12 @@ module QA base.class_eval do include QA::Page::Project::SubMenus::Common - view 'app/views/layouts/nav/sidebar/_project.html.haml' do + 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 @@ -68,6 +69,14 @@ module QA end end + def go_to_access_token_settings + hover_settings do + within_submenu do + click_element :access_tokens_settings_link + end + end + end + private def hover_settings |