diff options
Diffstat (limited to 'qa/qa/page')
-rw-r--r-- | qa/qa/page/admin/overview/users/index.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/component/issue_board/show.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/component/note.rb | 6 | ||||
-rw-r--r-- | qa/qa/page/issuable/new.rb | 11 | ||||
-rw-r--r-- | qa/qa/page/main/menu.rb | 6 | ||||
-rw-r--r-- | qa/qa/page/merge_request/show.rb | 44 | ||||
-rw-r--r-- | qa/qa/page/page_concern.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/project/commit/show.rb | 4 | ||||
-rw-r--r-- | qa/qa/page/project/members.rb | 24 | ||||
-rw-r--r-- | qa/qa/page/project/web_ide/edit.rb | 54 |
10 files changed, 124 insertions, 31 deletions
diff --git a/qa/qa/page/admin/overview/users/index.rb b/qa/qa/page/admin/overview/users/index.rb index fea95fdb84a..1885644d226 100644 --- a/qa/qa/page/admin/overview/users/index.rb +++ b/qa/qa/page/admin/overview/users/index.rb @@ -6,7 +6,7 @@ module QA module Overview module Users class Index < QA::Page::Base - view 'app/views/admin/users/index.html.haml' do + view 'app/views/admin/users/_users.html.haml' do element :user_search_field element :pending_approval_tab end diff --git a/qa/qa/page/component/issue_board/show.rb b/qa/qa/page/component/issue_board/show.rb index 15c1c25cbf9..4c1f03fbe86 100644 --- a/qa/qa/page/component/issue_board/show.rb +++ b/qa/qa/page/component/issue_board/show.rb @@ -39,7 +39,7 @@ module QA element :boards_list end - view 'app/assets/javascripts/boards/toggle_focus.js' do + view 'app/assets/javascripts/boards/components/toggle_focus.vue' do element :focus_mode_button end diff --git a/qa/qa/page/component/note.rb b/qa/qa/page/component/note.rb index 0454042289b..50567796bdb 100644 --- a/qa/qa/page/component/note.rb +++ b/qa/qa/page/component/note.rb @@ -162,10 +162,6 @@ module QA fill_element :reply_field, reply_text end - def wait_for_loading - has_no_element?(:skeleton_note_placeholer) - end - private def select_filter_with_text(text) @@ -174,7 +170,7 @@ module QA click_element :discussion_filter_dropdown find_element(:filter_menu_item, text: text).click - wait_for_loading + wait_for_requests end end end diff --git a/qa/qa/page/issuable/new.rb b/qa/qa/page/issuable/new.rb index 7891074092e..c549190c65b 100644 --- a/qa/qa/page/issuable/new.rb +++ b/qa/qa/page/issuable/new.rb @@ -28,6 +28,10 @@ module QA element :assign_to_me_link end + view 'app/views/shared/issuable/form/_template_selector.html.haml' do + element :template_dropdown + end + def fill_title(title) fill_element :issuable_form_title, title end @@ -43,6 +47,13 @@ module QA end end + def choose_template(template_name) + click_element :template_dropdown + within_element(:template_dropdown) do + click_on template_name + end + end + def select_label(label) click_element :issuable_label diff --git a/qa/qa/page/main/menu.rb b/qa/qa/page/main/menu.rb index 627809dacf2..f0df901a8f0 100644 --- a/qa/qa/page/main/menu.rb +++ b/qa/qa/page/main/menu.rb @@ -6,7 +6,7 @@ module QA class Menu < Page::Base view 'app/views/layouts/header/_current_user_dropdown.html.haml' do element :sign_out_link - element :settings_link + element :edit_profile_link end view 'app/views/layouts/header/_default.html.haml' do @@ -115,10 +115,10 @@ module QA sign_out if signed_in? end - def click_settings_link + def click_edit_profile_link retry_until(reload: false) do within_user_menu do - click_link 'Settings' + click_element(:edit_profile_link) end has_text?('User Settings') diff --git a/qa/qa/page/merge_request/show.rb b/qa/qa/page/merge_request/show.rb index ac4d38e5918..18676807fd6 100644 --- a/qa/qa/page/merge_request/show.rb +++ b/qa/qa/page/merge_request/show.rb @@ -58,6 +58,9 @@ module QA view 'app/assets/javascripts/diffs/components/diff_file_header.vue' do element :file_name_content + element :file_title_container + element :dropdown_button + element :edit_in_ide_button end view 'app/assets/javascripts/diffs/components/inline_diff_table_row.vue' do @@ -87,6 +90,15 @@ module QA element :review_preview_toggle end + view 'app/assets/javascripts/vue_shared/components/markdown/suggestion_diff_header.vue' do + element :apply_suggestions_batch_button + element :add_suggestion_batch_button + end + + view 'app/assets/javascripts/vue_shared/components/markdown/header.vue' do + element :suggestion_button + end + def start_review click_element(:start_review_button) @@ -150,15 +162,12 @@ module QA def click_discussions_tab click_element(:notes_tab) - wait_for_loading + wait_for_requests end def click_diffs_tab click_element(:diffs_tab) - - wait_for_loading - - click_element(:dismiss_popover_button) if has_element?(:dismiss_popover_button) + click_element(:dismiss_popover_button) if has_element?(:dismiss_popover_button, wait: 1) end def click_pipeline_link @@ -296,6 +305,31 @@ module QA click_element(:open_in_web_ide_button) wait_for_requests end + + def edit_file_in_web_ide(file_name) + within_element(:file_title_container, file_name: file_name) do + click_element(:dropdown_button) + click_element(:edit_in_ide_button) + end + end + + def add_suggestion_to_diff(suggestion, line) + find("a[data-linenumber='#{line}']").hover + click_element(:diff_comment) + click_element(:suggestion_button) + initial_content = find_element(:reply_field).value + fill_element(:reply_field, '') + fill_element(:reply_field, initial_content.gsub(/(```suggestion:-0\+0\n).*(\n```)/, "\\1#{suggestion}\\2")) + click_element(:comment_now_button) + end + + def add_suggestion_to_batch + all_elements(:add_suggestion_batch_button, minimum: 1).first.click + end + + def apply_suggestions_batch + all_elements(:apply_suggestions_batch_button, minimum: 1).first.click + end end end end diff --git a/qa/qa/page/page_concern.rb b/qa/qa/page/page_concern.rb index 6ba2d27f574..cf1153c0ca3 100644 --- a/qa/qa/page/page_concern.rb +++ b/qa/qa/page/page_concern.rb @@ -1,3 +1,5 @@ +# frozen_string_literal: true + module QA module Page module PageConcern diff --git a/qa/qa/page/project/commit/show.rb b/qa/qa/page/project/commit/show.rb index ba09dd1b92a..8ece81f7088 100644 --- a/qa/qa/page/project/commit/show.rb +++ b/qa/qa/page/project/commit/show.rb @@ -14,12 +14,12 @@ module QA def select_email_patches click_element :options_button - click_element :email_patches + visit_link_in_element :email_patches end def select_plain_diff click_element :options_button - click_element :plain_diff + visit_link_in_element :plain_diff end def commit_sha diff --git a/qa/qa/page/project/members.rb b/qa/qa/page/project/members.rb index 447049ce22a..7e722e02ad0 100644 --- a/qa/qa/page/project/members.rb +++ b/qa/qa/page/project/members.rb @@ -11,10 +11,6 @@ module QA element :invite_member_button end - view 'app/views/projects/project_members/_team.html.haml' do - element :members_list - end - view 'app/views/projects/project_members/index.html.haml' do element :invite_group_tab element :groups_list_tab @@ -25,11 +21,18 @@ module QA element :invite_group_button end - view 'app/views/shared/members/_group.html.haml' do + view 'app/assets/javascripts/pages/projects/project_members/index.js' do element :group_row + end + + view 'app/assets/javascripts/members/components/action_buttons/remove_group_link_button.vue' do element :delete_group_access_link end + view 'app/assets/javascripts/members/components/modals/remove_group_link_modal.vue' do + element :remove_group_link_modal_content + end + def select_group(group_name) click_element :group_select_field search_and_select(group_name) @@ -50,10 +53,13 @@ module QA def remove_group(group_name) click_element :invite_group_tab click_element :groups_list_tab - page.accept_alert do - within_element(:group_row, text: group_name) do - click_element :delete_group_access_link - end + + within_element(:group_row, text: group_name) do + click_element :delete_group_access_link + end + + within_element(:remove_group_link_modal_content) do + click_button 'Remove group' end end end diff --git a/qa/qa/page/project/web_ide/edit.rb b/qa/qa/page/project/web_ide/edit.rb index a8b30922bd2..45c46004790 100644 --- a/qa/qa/page/project/web_ide/edit.rb +++ b/qa/qa/page/project/web_ide/edit.rb @@ -18,7 +18,8 @@ module QA end view 'app/assets/javascripts/ide/components/ide_tree.vue' do - element :new_file + element :new_file_button + element :new_directory_button end view 'app/assets/javascripts/ide/components/ide_tree_list.vue' do @@ -63,6 +64,7 @@ module QA view 'app/assets/javascripts/ide/components/new_dropdown/index.vue' do element :dropdown_button element :rename_move_button + element :delete_button end view 'app/views/shared/_confirm_fork_modal.html.haml' do @@ -82,6 +84,10 @@ module QA element :changed_file_icon_content end + view 'app/assets/javascripts/vue_shared/components/file_icon.vue' do + element :folder_icon_content + end + view 'app/assets/javascripts/vue_shared/components/content_viewer/content_viewer.vue' do element :preview_container end @@ -98,12 +104,20 @@ module QA element :file_upload_field end + view 'app/assets/javascripts/ide/components/commit_sidebar/list_item.vue' do + element :file_to_commit_content + end + def has_file?(file_name) within_element(:file_list) do - has_text?(file_name) + has_element?(:file_name_content, file_name: file_name) end end + def has_file_to_commit?(file_name) + has_element?(:file_to_commit_content, file_name: file_name) + end + def has_project_path?(project_path) has_element?(:project_path_content, project_path: project_path) end @@ -114,6 +128,12 @@ module QA end end + def has_folder_icon?(file_name) + within_element(:file_row_container, file_name: file_name) do + has_element?(:folder_icon_content) + end + end + def has_download_button?(file_name) click_element(:file_row_container, file_name: file_name) within_element(:preview_container) do @@ -128,12 +148,19 @@ module QA end end + def has_file_content?(file_name, file_content) + click_element(:file_row_container, file_name: file_name) + within_element(:editor_container) do + has_text?(file_content) + end + end + def go_to_project click_element(:project_path_content, Page::Project::Show) end def create_new_file_from_template(file_name, template) - click_element(:new_file, Page::Component::WebIDE::Modal::CreateNewFile) + click_element(:new_file_button, Page::Component::WebIDE::Modal::CreateNewFile) within_element(:template_list) do click_on file_name @@ -226,7 +253,7 @@ module QA end def add_file(file_name, file_text) - click_element(:new_file, Page::Component::WebIDE::Modal::CreateNewFile) + click_element(:new_file_button, Page::Component::WebIDE::Modal::CreateNewFile) fill_element(:file_name_field, file_name) click_button('Create file') wait_until(reload: false) { has_file?(file_name) } @@ -235,8 +262,15 @@ module QA end end + def add_directory(directory_name) + click_element(:new_directory_button, Page::Component::WebIDE::Modal::CreateNewFile) + fill_element(:file_name_field, directory_name) + click_button('Create directory') + wait_until(reload: false) { has_file?(directory_name) } + end + def rename_file(file_name, new_file_name) - click_element(:file_name_content, text: file_name) + click_element(:file_name_content, file_name: file_name) click_element(:dropdown_button) click_element(:rename_move_button, Page::Component::WebIDE::Modal::CreateNewFile) fill_element(:file_name_field, new_file_name) @@ -259,6 +293,16 @@ module QA find_element(:file_upload_field, visible: false).send_keys(file_path) end end + + def delete_file(file_name) + click_element(:file_name_content, file_name: file_name) + click_element(:dropdown_button) + click_element(:delete_button) + end + + def switch_to_commit_tab + click_element(:commit_mode_tab) + end end end end |