summaryrefslogtreecommitdiff
path: root/qa/qa/page/project
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2020-09-19 01:45:44 +0000
committerGitLab Bot <gitlab-bot@gitlab.com>2020-09-19 01:45:44 +0000
commit85dc423f7090da0a52c73eb66faf22ddb20efff9 (patch)
tree9160f299afd8c80c038f08e1545be119f5e3f1e1 /qa/qa/page/project
parent15c2c8c66dbe422588e5411eee7e68f1fa440bb8 (diff)
downloadgitlab-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.rb2
-rw-r--r--qa/qa/page/project/issue/show.rb36
-rw-r--r--qa/qa/page/project/job/show.rb12
-rw-r--r--qa/qa/page/project/operations/kubernetes/add.rb4
-rw-r--r--qa/qa/page/project/operations/metrics/show.rb25
-rw-r--r--qa/qa/page/project/packages/index.rb2
-rw-r--r--qa/qa/page/project/pipeline/show.rb8
-rw-r--r--qa/qa/page/project/settings/advanced.rb22
-rw-r--r--qa/qa/page/project/settings/main.rb1
-rw-r--r--qa/qa/page/project/settings/merge_request.rb9
-rw-r--r--qa/qa/page/project/settings/mirroring_repositories.rb2
-rw-r--r--qa/qa/page/project/settings/services/jira.rb2
-rw-r--r--qa/qa/page/project/show.rb2
-rw-r--r--qa/qa/page/project/web_ide/edit.rb26
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