diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-16 18:18:33 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-16 18:18:33 +0000 |
commit | f64a639bcfa1fc2bc89ca7db268f594306edfd7c (patch) | |
tree | a2c3c2ebcc3b45e596949db485d6ed18ffaacfa1 /qa/qa/page/project | |
parent | bfbc3e0d6583ea1a91f627528bedc3d65ba4b10f (diff) | |
download | gitlab-ce-f64a639bcfa1fc2bc89ca7db268f594306edfd7c.tar.gz |
Add latest changes from gitlab-org/gitlab@13-10-stable-eev13.10.0-rc40
Diffstat (limited to 'qa/qa/page/project')
-rw-r--r-- | qa/qa/page/project/import/github.rb | 39 | ||||
-rw-r--r-- | qa/qa/page/project/issue/index.rb | 14 | ||||
-rw-r--r-- | qa/qa/page/project/members.rb | 35 | ||||
-rw-r--r-- | qa/qa/page/project/new.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/operations/kubernetes/add_existing.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/operations/kubernetes/index.rb | 4 | ||||
-rw-r--r-- | qa/qa/page/project/registry/show.rb | 40 | ||||
-rw-r--r-- | qa/qa/page/project/settings/auto_devops.rb | 4 | ||||
-rw-r--r-- | qa/qa/page/project/settings/ci_variables.rb | 1 | ||||
-rw-r--r-- | qa/qa/page/project/settings/incidents.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/settings/main.rb | 13 | ||||
-rw-r--r-- | qa/qa/page/project/settings/merge_request.rb | 10 | ||||
-rw-r--r-- | qa/qa/page/project/sub_menus/packages.rb | 19 | ||||
-rw-r--r-- | qa/qa/page/project/sub_menus/settings.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/web_ide/edit.rb | 4 | ||||
-rw-r--r-- | qa/qa/page/project/wiki/edit.rb | 40 | ||||
-rw-r--r-- | qa/qa/page/project/wiki/show.rb | 64 | ||||
-rw-r--r-- | qa/qa/page/project/wiki/sidebar.rb | 50 |
18 files changed, 123 insertions, 222 deletions
diff --git a/qa/qa/page/project/import/github.rb b/qa/qa/page/project/import/github.rb index 6890c7de9f8..58c82fa14c1 100644 --- a/qa/qa/page/project/import/github.rb +++ b/qa/qa/page/project/import/github.rb @@ -17,28 +17,34 @@ module QA element :project_namespace_select element :project_path_field element :import_button + element :project_path_content + element :go_to_project_button end def add_personal_access_token(personal_access_token) + # If for some reasons this process is retried, user cannot re-enter github token in the same group + # In this case skip this step and proceed to import project row + return unless has_element?(:personal_access_token_field) + fill_element(:personal_access_token_field, personal_access_token) click_element(:authenticate_button) finished_loading? end def import!(full_path, name) - choose_test_namespace(full_path) - set_path(full_path, name) - import_project(full_path) - wait_for_success + unless already_imported(full_path) + choose_test_namespace(full_path) + set_path(full_path, name) + import_project(full_path) + wait_for_success + end + + go_to_project(name) end private def within_repo_path(full_path) - wait_until(reload: false) do - has_element?(:project_import_row, text: full_path) - end - project_import_row = find_element(:project_import_row, text: full_path) within(project_import_row) do @@ -68,9 +74,22 @@ module QA def wait_for_success # TODO: set reload:false and remove skip_finished_loading_check_on_refresh when - # https://gitlab.com/gitlab-org/gitlab/-/issues/231542 is fixed + # https://gitlab.com/gitlab-org/gitlab/-/issues/292861 is fixed wait_until(max_duration: 60, sleep_interval: 5.0, reload: true, skip_finished_loading_check_on_refresh: true) do - page.has_content?('Done', wait: 1.0) + page.has_no_content?('Importing 1 repository', wait: 3.0) + end + end + + def go_to_project(name) + Page::Main::Menu.perform(&:go_to_projects) + Page::Dashboard::Projects.perform do |dashboard| + dashboard.go_to_project(name) + end + end + + def already_imported(full_path) + within_repo_path(full_path) do + has_element?(:project_path_content) && has_element?(:go_to_project_button) end end end diff --git a/qa/qa/page/project/issue/index.rb b/qa/qa/page/project/issue/index.rb index e85d10e4eb8..10ddd52719a 100644 --- a/qa/qa/page/project/issue/index.rb +++ b/qa/qa/page/project/issue/index.rb @@ -15,18 +15,14 @@ module QA element :avatar_counter_content end - view 'app/views/shared/issuable/csv_export/_button.html.haml' do - element :export_as_csv_button - end - - view 'app/views/shared/issuable/csv_export/_modal.html.haml' do - element :export_issues_button + view 'app/assets/javascripts/issuable/components/csv_export_modal.vue' do element :export_issuable_modal end - view 'app/views/projects/issues/import_csv/_button.html.haml' do - element :import_issues_button + view 'app/assets/javascripts/issuable/components/csv_import_export_buttons.vue' do + element :export_as_csv_button element :import_from_jira_link + element :import_issues_dropdown end view 'app/views/shared/issuable/_nav.html.haml' do @@ -60,7 +56,7 @@ module QA def click_import_issues_dropdown # When there are no issues, the image that loads causes the buttons to jump has_loaded_all_images? - click_element(:import_issues_button) + click_element(:import_issues_dropdown) end def export_issues_modal diff --git a/qa/qa/page/project/members.rb b/qa/qa/page/project/members.rb index 7e722e02ad0..09264d95aed 100644 --- a/qa/qa/page/project/members.rb +++ b/qa/qa/page/project/members.rb @@ -4,21 +4,18 @@ module QA module Page module Project class Members < Page::Base - include QA::Page::Component::Select2 - - view 'app/views/shared/members/_invite_member.html.haml' do - element :member_select_field - element :invite_member_button - end + include QA::Page::Component::InviteMembersModal view 'app/views/projects/project_members/index.html.haml' do - element :invite_group_tab element :groups_list_tab end - view 'app/views/shared/members/_invite_group.html.haml' do - element :group_select_field - element :invite_group_button + view 'app/assets/javascripts/invite_members/components/invite_group_trigger.vue' do + element :invite_a_group_button + end + + view 'app/assets/javascripts/invite_members/components/invite_members_trigger.vue' do + element :invite_members_button end view 'app/assets/javascripts/pages/projects/project_members/index.js' do @@ -33,25 +30,7 @@ module QA element :remove_group_link_modal_content end - def select_group(group_name) - click_element :group_select_field - search_and_select(group_name) - end - - def invite_group(group_name) - click_element :invite_group_tab - select_group(group_name) - click_element :invite_group_button - end - - def add_member(username) - click_element :member_select_field - search_and_select username - click_element :invite_member_button - end - def remove_group(group_name) - click_element :invite_group_tab click_element :groups_list_tab within_element(:group_row, text: group_name) do diff --git a/qa/qa/page/project/new.rb b/qa/qa/page/project/new.rb index 7e296528795..d1033dbfca9 100644 --- a/qa/qa/page/project/new.rb +++ b/qa/qa/page/project/new.rb @@ -68,7 +68,7 @@ module QA end def enable_initialize_with_readme - check_element :initialize_with_readme_checkbox + check_element(:initialize_with_readme_checkbox) end end end diff --git a/qa/qa/page/project/operations/kubernetes/add_existing.rb b/qa/qa/page/project/operations/kubernetes/add_existing.rb index 1b9a451c47d..59f59ca9966 100644 --- a/qa/qa/page/project/operations/kubernetes/add_existing.rb +++ b/qa/qa/page/project/operations/kubernetes/add_existing.rb @@ -36,7 +36,7 @@ module QA end def uncheck_rbac! - uncheck_element :rbac_checkbox + uncheck_element(:rbac_checkbox) end end end diff --git a/qa/qa/page/project/operations/kubernetes/index.rb b/qa/qa/page/project/operations/kubernetes/index.rb index 114e3ddd46a..ca41dddaca2 100644 --- a/qa/qa/page/project/operations/kubernetes/index.rb +++ b/qa/qa/page/project/operations/kubernetes/index.rb @@ -7,11 +7,11 @@ module QA module Kubernetes class Index < Page::Base view 'app/views/clusters/clusters/_empty_state.html.haml' do - element :add_kubernetes_cluster_button, "link_to s_('ClusterIntegration|Integrate with a cluster certificate')" # rubocop:disable QA/ElementWithPattern + element :add_kubernetes_cluster_link end def add_kubernetes_cluster - click_on 'Connect cluster with certificate' + click_element :add_kubernetes_cluster_link end def has_cluster?(cluster) diff --git a/qa/qa/page/project/registry/show.rb b/qa/qa/page/project/registry/show.rb new file mode 100644 index 00000000000..dffdb9eebba --- /dev/null +++ b/qa/qa/page/project/registry/show.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +module QA + module Page + module Project + module Registry + class Show < QA::Page::Base + view 'app/assets/javascripts/registry/explorer/components/list_page/image_list_row.vue' do + element :registry_image_content + end + + view 'app/assets/javascripts/registry/explorer/components/details_page/tags_list_row.vue' do + element :tag_delete_button + end + + def has_registry_repository?(name) + find_element(:registry_image_content, text: name) + end + + def click_on_image(name) + click_element(:registry_image_content, text: name) + end + + def has_tag?(tag_name) + has_button?(tag_name) + end + + def has_no_tag?(tag_name) + has_no_button?(tag_name) + end + + def click_delete + click_element(:tag_delete_button) + find_button('Confirm').click + end + end + end + end + end +end diff --git a/qa/qa/page/project/settings/auto_devops.rb b/qa/qa/page/project/settings/auto_devops.rb index 827d5b072c3..9dffa010805 100644 --- a/qa/qa/page/project/settings/auto_devops.rb +++ b/qa/qa/page/project/settings/auto_devops.rb @@ -11,8 +11,8 @@ module QA end def enable_autodevops - check_element :enable_autodevops_checkbox - click_element :save_changes_button + check_element(:enable_autodevops_checkbox) + click_element(:save_changes_button) end end end diff --git a/qa/qa/page/project/settings/ci_variables.rb b/qa/qa/page/project/settings/ci_variables.rb index f2ced668a60..2b8fad64afb 100644 --- a/qa/qa/page/project/settings/ci_variables.rb +++ b/qa/qa/page/project/settings/ci_variables.rb @@ -10,7 +10,6 @@ module QA view 'app/assets/javascripts/ci_variable_list/components/ci_variable_modal.vue' do element :ci_variable_key_field element :ci_variable_value_field - element :ci_variable_masked_checkbox element :ci_variable_save_button element :ci_variable_delete_button end diff --git a/qa/qa/page/project/settings/incidents.rb b/qa/qa/page/project/settings/incidents.rb index 9b523e2aa9e..610129851d9 100644 --- a/qa/qa/page/project/settings/incidents.rb +++ b/qa/qa/page/project/settings/incidents.rb @@ -13,7 +13,7 @@ module QA end def enable_issues_for_incidents - check_element :create_issue_checkbox + check_element(:create_issue_checkbox) end def select_issue_template(template) diff --git a/qa/qa/page/project/settings/main.rb b/qa/qa/page/project/settings/main.rb index 4db66543a25..48af635bb79 100644 --- a/qa/qa/page/project/settings/main.rb +++ b/qa/qa/page/project/settings/main.rb @@ -11,8 +11,9 @@ module QA include Component::Breadcrumbs view 'app/views/projects/edit.html.haml' do - element :advanced_settings - element :merge_request_settings + element :advanced_settings_content + element :merge_request_settings_content + element :visibility_features_permissions_content end view 'app/views/projects/settings/_general.html.haml' do @@ -20,10 +21,6 @@ module QA element :save_naming_topics_avatar_button end - view 'app/views/projects/edit.html.haml' do - element :visibility_features_permissions_content - end - def rename_project_to(name) fill_project_name(name) click_save_changes @@ -38,13 +35,13 @@ module QA end def expand_advanced_settings(&block) - expand_content(:advanced_settings) do + expand_content(:advanced_settings_content) do Advanced.perform(&block) end end def expand_merge_requests_settings(&block) - expand_content(:merge_request_settings) do + expand_content(:merge_request_settings_content) do MergeRequest.perform(&block) end end diff --git a/qa/qa/page/project/settings/merge_request.rb b/qa/qa/page/project/settings/merge_request.rb index ec8d73df1b3..fe5d629effe 100644 --- a/qa/qa/page/project/settings/merge_request.rb +++ b/qa/qa/page/project/settings/merge_request.rb @@ -8,11 +8,11 @@ module QA include QA::Page::Settings::Common view 'app/views/projects/edit.html.haml' do - element :save_merge_request_changes + element :save_merge_request_changes_button end view 'app/views/projects/_merge_request_merge_method_settings.html.haml' do - element :radio_button_merge_ff + element :merge_ff_radio_button end view 'app/views/projects/_merge_request_merge_checks_settings.html.haml' do @@ -20,16 +20,16 @@ module QA end def click_save_changes - click_element :save_merge_request_changes + click_element :save_merge_request_changes_button end def enable_ff_only - click_element :radio_button_merge_ff + click_element :merge_ff_radio_button click_save_changes end def enable_merge_if_all_disscussions_are_resolved - click_element :allow_merge_if_all_discussions_are_resolved_checkbox + check_element(:allow_merge_if_all_discussions_are_resolved_checkbox) click_save_changes end end diff --git a/qa/qa/page/project/sub_menus/packages.rb b/qa/qa/page/project/sub_menus/packages.rb index 9ea045a99f5..46eae01e10d 100644 --- a/qa/qa/page/project/sub_menus/packages.rb +++ b/qa/qa/page/project/sub_menus/packages.rb @@ -22,6 +22,25 @@ module QA click_element :packages_link end end + + def go_to_container_registry + hover_registry do + within_submenu do + click_link('Container Registry') + end + end + end + + private + + def hover_registry + within_sidebar do + scroll_to_element(:packages_link) + find_element(:packages_link).hover + + yield + end + end end end end diff --git a/qa/qa/page/project/sub_menus/settings.rb b/qa/qa/page/project/sub_menus/settings.rb index 47274c8db54..b5058bacccd 100644 --- a/qa/qa/page/project/sub_menus/settings.rb +++ b/qa/qa/page/project/sub_menus/settings.rb @@ -25,7 +25,7 @@ module QA def go_to_ci_cd_settings hover_settings do within_submenu do - click_link('CI / CD') + click_link('CI/CD') end end end diff --git a/qa/qa/page/project/web_ide/edit.rb b/qa/qa/page/project/web_ide/edit.rb index 45c46004790..fd68ac0de16 100644 --- a/qa/qa/page/project/web_ide/edit.rb +++ b/qa/qa/page/project/web_ide/edit.rb @@ -44,10 +44,6 @@ module QA element :commit_button end - view 'app/assets/javascripts/ide/components/commit_sidebar/new_merge_request_option.vue' do - element :start_new_mr_checkbox - end - view 'app/assets/javascripts/ide/components/repo_editor.vue' do element :editor_container end diff --git a/qa/qa/page/project/wiki/edit.rb b/qa/qa/page/project/wiki/edit.rb index 6f3be904eb3..70aa10cc43e 100644 --- a/qa/qa/page/project/wiki/edit.rb +++ b/qa/qa/page/project/wiki/edit.rb @@ -5,44 +5,8 @@ module QA module Project module Wiki class Edit < Base - include Wiki::Sidebar - - view 'app/views/shared/wikis/_form.html.haml' do - element :wiki_title_textbox - element :wiki_content_textarea - element :wiki_message_textbox - element :save_changes_button - element :create_page_button - end - - view 'app/assets/javascripts/pages/shared/wikis/components/delete_wiki_modal.vue' do - element :delete_button - end - - def set_title(title) - fill_element :wiki_title_textbox, title - end - - def set_content(content) - fill_element :wiki_content_textarea, content - end - - def set_message(message) - fill_element :wiki_message_textbox, message - end - - def click_save_changes - click_element :save_changes_button - end - - def click_create_page - click_element :create_page_button - end - - def delete_page - click_element :delete_button, Page::Modal::DeleteWiki - Page::Modal::DeleteWiki.perform(&:confirm_deletion) - end + include Page::Component::WikiPageForm + include Page::Component::WikiSidebar end end end diff --git a/qa/qa/page/project/wiki/show.rb b/qa/qa/page/project/wiki/show.rb index d9e0783a581..f3573e3cdd3 100644 --- a/qa/qa/page/project/wiki/show.rb +++ b/qa/qa/page/project/wiki/show.rb @@ -5,67 +5,9 @@ module QA module Project module Wiki class Show < Base - include Wiki::Sidebar - include Component::LazyLoader - - view 'app/views/shared/wikis/show.html.haml' do - element :wiki_page_title - element :wiki_page_content - element :edit_page_button - end - - view 'app/views/shared/wikis/_main_links.html.haml' do - element :new_page_button - element :page_history_button - end - - view 'app/views/shared/empty_states/_wikis.html.haml' do - element :create_first_page_link - end - - view 'app/views/shared/empty_states/_wikis_layout.html.haml' do - element :svg_content - end - - def click_create_your_first_page - # The svg takes a fraction of a second to load after which the - # "Create your first page" button shifts up a bit. This can cause - # webdriver to miss the hit so we wait for the svg to load before - # clicking the button. - within_element(:svg_content) do - has_element? :js_lazy_loaded - end - - click_element :create_first_page_link - end - - def click_new_page - click_element(:new_page_button) - end - - def click_page_history - click_element(:page_history_button) - end - - def click_edit - click_element(:edit_page_button) - end - - def has_title?(title) - has_element?(:wiki_page_title, title) - end - - def has_content?(content) - has_element?(:wiki_page_content, content) - end - - def has_no_content?(content) - has_no_element?(:wiki_page_content, content) - end - - def has_no_page? - has_element? :create_first_page_link - end + include Page::Component::Wiki + include Page::Component::WikiSidebar + include Page::Component::LazyLoader end end end diff --git a/qa/qa/page/project/wiki/sidebar.rb b/qa/qa/page/project/wiki/sidebar.rb deleted file mode 100644 index 3e1edcbbefb..00000000000 --- a/qa/qa/page/project/wiki/sidebar.rb +++ /dev/null @@ -1,50 +0,0 @@ -# frozen_string_literal: true - -module QA - module Page - module Project - module Wiki - module Sidebar - extend QA::Page::PageConcern - - def self.included(base) - super - - base.view 'app/views/shared/wikis/_sidebar.html.haml' do - element :clone_repository_link - element :view_all_pages_button - end - - base.view 'app/views/shared/wikis/_sidebar_wiki_page.html.haml' do - element :wiki_page_link - end - - base.view 'app/views/shared/wikis/_wiki_directory.html.haml' do - element :wiki_directory_content - end - end - - def click_clone_repository - click_element(:clone_repository_link) - end - - def click_view_all_pages - click_element(:view_all_pages_button) - end - - def click_page_link(page_title) - click_element :wiki_page_link, page_name: page_title - end - - def has_page_listed?(page_title) - has_element? :wiki_page_link, page_name: page_title - end - - def has_directory?(directory) - has_element? :wiki_directory_content, text: directory - end - end - end - end - end -end |