diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 01:45:44 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2020-09-19 01:45:44 +0000 |
commit | 85dc423f7090da0a52c73eb66faf22ddb20efff9 (patch) | |
tree | 9160f299afd8c80c038f08e1545be119f5e3f1e1 /qa/qa/page/project | |
parent | 15c2c8c66dbe422588e5411eee7e68f1fa440bb8 (diff) | |
download | gitlab-ce-85dc423f7090da0a52c73eb66faf22ddb20efff9.tar.gz |
Add latest changes from gitlab-org/gitlab@13-4-stable-ee
Diffstat (limited to 'qa/qa/page/project')
-rw-r--r-- | qa/qa/page/project/issue/index.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/issue/show.rb | 36 | ||||
-rw-r--r-- | qa/qa/page/project/job/show.rb | 12 | ||||
-rw-r--r-- | qa/qa/page/project/operations/kubernetes/add.rb | 4 | ||||
-rw-r--r-- | qa/qa/page/project/operations/metrics/show.rb | 25 | ||||
-rw-r--r-- | qa/qa/page/project/packages/index.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/pipeline/show.rb | 8 | ||||
-rw-r--r-- | qa/qa/page/project/settings/advanced.rb | 22 | ||||
-rw-r--r-- | qa/qa/page/project/settings/main.rb | 1 | ||||
-rw-r--r-- | qa/qa/page/project/settings/merge_request.rb | 9 | ||||
-rw-r--r-- | qa/qa/page/project/settings/mirroring_repositories.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/settings/services/jira.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/show.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/web_ide/edit.rb | 26 |
14 files changed, 123 insertions, 30 deletions
diff --git a/qa/qa/page/project/issue/index.rb b/qa/qa/page/project/issue/index.rb index 0a64f01fe98..0b47bec2cf1 100644 --- a/qa/qa/page/project/issue/index.rb +++ b/qa/qa/page/project/issue/index.rb @@ -5,7 +5,7 @@ module QA module Project module Issue class Index < Page::Base - view 'app/assets/javascripts/issuables_list/components/issuable.vue' do + view 'app/assets/javascripts/issues_list/components/issuable.vue' do element :issue_container element :issue_link end diff --git a/qa/qa/page/project/issue/show.rb b/qa/qa/page/project/issue/show.rb index 5778d0218a7..826acaa2e0a 100644 --- a/qa/qa/page/project/issue/show.rb +++ b/qa/qa/page/project/issue/show.rb @@ -38,8 +38,42 @@ module QA element :new_note_form, 'attr: :note' # rubocop:disable QA/ElementWithPattern end + view 'app/assets/javascripts/related_issues/components/add_issuable_form.vue' do + element :add_issue_button + end + + view 'app/assets/javascripts/related_issues/components/related_issuable_input.vue' do + element :add_issue_input + end + + view 'app/assets/javascripts/related_issues/components/related_issues_block.vue' do + element :related_issues_plus_button + end + + view 'app/assets/javascripts/related_issues/components/related_issues_list.vue' do + element :related_issuable_item + element :related_issues_loading_icon + end + + def relate_issue(issue) + click_element(:related_issues_plus_button) + fill_element(:add_issue_input, issue.web_url) + send_keys_to_element(:add_issue_input, :enter) + end + + def related_issuable_item + find_element(:related_issuable_item) + end + + def wait_for_related_issues_to_load + has_no_element?(:related_issues_loading_icon, wait: QA::Support::Repeater::DEFAULT_MAX_WAIT_TIME) + end + def click_remove_related_issue_button - click_element(:remove_related_issue_button) + retry_until(sleep_interval: 5) do + click_element(:remove_related_issue_button) + has_no_element?(:remove_related_issue_button, wait: QA::Support::Repeater::DEFAULT_MAX_WAIT_TIME) + end end def click_close_issue_button diff --git a/qa/qa/page/project/job/show.rb b/qa/qa/page/project/job/show.rb index 6243dc92b45..6a657b4ab39 100644 --- a/qa/qa/page/project/job/show.rb +++ b/qa/qa/page/project/job/show.rb @@ -19,6 +19,10 @@ module QA element :retry_button end + view 'app/assets/javascripts/jobs/components/artifacts_block.vue' do + element :browse_artifacts_button + end + def successful?(timeout: 60) raise "Timed out waiting for the build trace to load" unless loaded? raise "Timed out waiting for the status to be a valid completed state" unless completed?(timeout: timeout) @@ -42,6 +46,14 @@ module QA result end + def has_browse_button? + has_element? :browse_artifacts_button + end + + def click_browse_button + click_element :browse_artifacts_button + end + def retry! click_element :retry_button end diff --git a/qa/qa/page/project/operations/kubernetes/add.rb b/qa/qa/page/project/operations/kubernetes/add.rb index 785791652ba..9a6ea99ac18 100644 --- a/qa/qa/page/project/operations/kubernetes/add.rb +++ b/qa/qa/page/project/operations/kubernetes/add.rb @@ -7,11 +7,11 @@ module QA module Kubernetes class Add < Page::Base view 'app/views/clusters/clusters/new.html.haml' do - element :add_existing_cluster_button, "Add existing cluster" # rubocop:disable QA/ElementWithPattern + element :add_existing_cluster_tab end def add_existing_cluster - click_on 'Add existing cluster' + click_element(:add_existing_cluster_tab) end end end diff --git a/qa/qa/page/project/operations/metrics/show.rb b/qa/qa/page/project/operations/metrics/show.rb index 22d22af5a9a..35dfd92f119 100644 --- a/qa/qa/page/project/operations/metrics/show.rb +++ b/qa/qa/page/project/operations/metrics/show.rb @@ -41,6 +41,11 @@ module QA element :quick_range_item end + view 'app/assets/javascripts/monitoring/components/variables_section.vue' do + element :variables_content + element :variable_item + end + def wait_for_metrics wait_for_data return if has_metrics? @@ -73,6 +78,14 @@ module QA within('.modal-content') { click_button(class: 'btn-success') } end + def select_dashboard(dashboard_name) + click_element :dashboards_filter_dropdown + + within_element :dashboards_filter_dropdown do + click_on dashboard_name + end + end + def filter_environment(environment = 'production') click_element :environments_dropdown @@ -97,6 +110,18 @@ module QA end end + def has_templating_variable?(variable) + within_element :variables_content do + has_element?(:variable_item, text: variable) + end + end + + def has_template_metric?(metric) + within_element :prometheus_graphs do + has_text?(metric) + end + end + private def wait_for_data diff --git a/qa/qa/page/project/packages/index.rb b/qa/qa/page/project/packages/index.rb index 3f8cc6035bc..6d55d1d04b6 100644 --- a/qa/qa/page/project/packages/index.rb +++ b/qa/qa/page/project/packages/index.rb @@ -5,7 +5,7 @@ module QA module Project module Packages class Index < QA::Page::Base - view 'app/views/projects/packages/packages/_legacy_package_list.html.haml' do + view 'app/assets/javascripts/packages/shared/components/package_list_row.vue' do element :package_row element :package_link end diff --git a/qa/qa/page/project/pipeline/show.rb b/qa/qa/page/project/pipeline/show.rb index 43003fe1953..57ab7fb4480 100644 --- a/qa/qa/page/project/pipeline/show.rb +++ b/qa/qa/page/project/pipeline/show.rb @@ -21,7 +21,7 @@ module QA end view 'app/assets/javascripts/pipelines/components/graph/linked_pipeline.vue' do - element :linked_pipeline_button + element :expand_pipeline_button element :child_pipeline end @@ -69,8 +69,10 @@ module QA click_element(:job_link, text: job_name) end - def click_linked_job(project_name) - click_element(:linked_pipeline_button, text: /#{project_name}/) + def expand_child_pipeline + within_element(:child_pipeline) do + click_element(:expand_pipeline_button) + end end def click_on_first_job diff --git a/qa/qa/page/project/settings/advanced.rb b/qa/qa/page/project/settings/advanced.rb index 960d6c221b5..97519c3906c 100644 --- a/qa/qa/page/project/settings/advanced.rb +++ b/qa/qa/page/project/settings/advanced.rb @@ -38,20 +38,16 @@ module QA click_element :change_path_button end - def select_transfer_option(namespace) - search_and_select(namespace) - end - def transfer_project!(project_name, namespace) - # Retry added here due to seldom seen inconsistent UI state issue: - # https://gitlab.com/gitlab-org/gitlab/-/issues/231242 - retry_on_exception do - click_element_coordinates(:archive_project_content) - expand_select_list - # Workaround for a failure to search when there are no spaces around the / - # https://gitlab.com/gitlab-org/gitlab/-/issues/218965 - select_transfer_option(namespace.gsub(/([^\s])\/([^\s])/, '\1 / \2')) - end + QA::Runtime::Logger.info "Transferring project: #{project_name} to namespace: #{namespace}" + + click_element_coordinates(:archive_project_content) + + expand_select_list + + # Workaround for a failure to search when there are no spaces around the / + # https://gitlab.com/gitlab-org/gitlab/-/issues/218965 + search_and_select(namespace.gsub(/([^\s])\/([^\s])/, '\1 / \2')) click_element(:transfer_button) fill_confirmation_text(project_name) diff --git a/qa/qa/page/project/settings/main.rb b/qa/qa/page/project/settings/main.rb index 3cd558691e1..4db66543a25 100644 --- a/qa/qa/page/project/settings/main.rb +++ b/qa/qa/page/project/settings/main.rb @@ -8,6 +8,7 @@ module QA include QA::Page::Settings::Common include Component::Select2 include SubMenus::Project + include Component::Breadcrumbs view 'app/views/projects/edit.html.haml' do element :advanced_settings diff --git a/qa/qa/page/project/settings/merge_request.rb b/qa/qa/page/project/settings/merge_request.rb index 0092426b31f..ec8d73df1b3 100644 --- a/qa/qa/page/project/settings/merge_request.rb +++ b/qa/qa/page/project/settings/merge_request.rb @@ -15,6 +15,10 @@ module QA element :radio_button_merge_ff end + view 'app/views/projects/_merge_request_merge_checks_settings.html.haml' do + element :allow_merge_if_all_discussions_are_resolved_checkbox + end + def click_save_changes click_element :save_merge_request_changes end @@ -23,6 +27,11 @@ module QA click_element :radio_button_merge_ff click_save_changes end + + def enable_merge_if_all_disscussions_are_resolved + click_element :allow_merge_if_all_discussions_are_resolved_checkbox + click_save_changes + end end end end diff --git a/qa/qa/page/project/settings/mirroring_repositories.rb b/qa/qa/page/project/settings/mirroring_repositories.rb index 517163a22f1..ddace6d0533 100644 --- a/qa/qa/page/project/settings/mirroring_repositories.rb +++ b/qa/qa/page/project/settings/mirroring_repositories.rb @@ -77,7 +77,7 @@ module QA # The host key detection process is interrupted if we navigate away # from the page before the fingerprint appears. - find_element(:fingerprints_list, text: /.*/) + find_element(:fingerprints_list, text: /.*/, wait: 60) end def mirror_repository diff --git a/qa/qa/page/project/settings/services/jira.rb b/qa/qa/page/project/settings/services/jira.rb index 75baedb1b0f..eaa3e90db78 100644 --- a/qa/qa/page/project/settings/services/jira.rb +++ b/qa/qa/page/project/settings/services/jira.rb @@ -13,7 +13,7 @@ module QA element :service_jira_issue_transition_id_field, ':data-qa-selector="`${fieldId}_field`"' # rubocop:disable QA/ElementWithPattern end - view 'app/helpers/services_helper.rb' do + view 'app/assets/javascripts/integrations/edit/components/integration_form.vue' do element :save_changes_button end diff --git a/qa/qa/page/project/show.rb b/qa/qa/page/project/show.rb index 22c2ed2a0c2..c607b35005e 100644 --- a/qa/qa/page/project/show.rb +++ b/qa/qa/page/project/show.rb @@ -56,7 +56,7 @@ module QA element :new_file_option end - view 'app/assets/javascripts/repository/components/web_ide_link.vue' do + view 'app/assets/javascripts/vue_shared/components/web_ide_link.vue' do element :web_ide_button end diff --git a/qa/qa/page/project/web_ide/edit.rb b/qa/qa/page/project/web_ide/edit.rb index b962b0c673b..56c8d343cf5 100644 --- a/qa/qa/page/project/web_ide/edit.rb +++ b/qa/qa/page/project/web_ide/edit.rb @@ -10,6 +10,11 @@ module QA view 'app/assets/javascripts/ide/components/activity_bar.vue' do element :commit_mode_tab + element :edit_mode_tab + end + + view 'app/assets/javascripts/ide/components/ide_status_bar.vue' do + element :commit_sha_content end view 'app/assets/javascripts/ide/components/ide_tree.vue' do @@ -104,11 +109,19 @@ module QA end end + def commit_sha + return unless has_element?(:commit_sha_content, wait: 0) + + find_element(:commit_sha_content).text + end + def commit_changes(open_merge_request: false) # Clicking :begin_commit_button switches from the # edit to the commit view - click_element :begin_commit_button - active_element? :commit_mode_tab + click_element(:begin_commit_button) + active_element?(:commit_mode_tab) + + original_commit = commit_sha # After clicking :begin_commit_button, there is an animation # that hides :begin_commit_button and shows :commit_button @@ -126,16 +139,17 @@ module QA # Click :commit_button and keep retrying just in case part of the # animation is still in process even when the buttons have the # expected visibility. - commit_success_msg_shown = retry_until(sleep_interval: 5) do + commit_success = retry_until(sleep_interval: 5) do click_element(:commit_to_current_branch_radio) if has_element?(:commit_to_current_branch_radio) click_element(:commit_button) if has_element?(:commit_button) - wait_until(reload: false) do - has_text?('Your changes have been committed') + # If this is the first commit, the commit SHA only appears after reloading + wait_until(reload: true) do + active_element?(:edit_mode_tab) && commit_sha != original_commit end end - raise "The changes do not appear to have been committed successfully." unless commit_success_msg_shown + raise "The changes do not appear to have been committed successfully." unless commit_success end end |