diff --git a/app/assets/javascripts/diffs/components/diff_file_header.vue b/app/assets/javascripts/diffs/components/diff_file_header.vue index d62d0e11bff13628be90f17d7770f84d7b9131de..a9e63ad53bbb6e5e1590cd042536ddcc07e837a2 100644 --- a/app/assets/javascripts/diffs/components/diff_file_header.vue +++ b/app/assets/javascripts/diffs/components/diff_file_header.vue @@ -337,7 +337,7 @@ export default { :title="filePath" class="file-title-name" data-container="body" - data-qa-selector="file_name_content" + data-testid="file-name-content" > {{ filePath }} diff --git a/app/assets/javascripts/merge_requests/components/compare_app.vue b/app/assets/javascripts/merge_requests/components/compare_app.vue index 20c95174989d30a916d28abd87ad332aeb39f334..c7c16e91e4cc6188ad6f5436d28ae86753fd7c8e 100644 --- a/app/assets/javascripts/merge_requests/components/compare_app.vue +++ b/app/assets/javascripts/merge_requests/components/compare_app.vue @@ -32,9 +32,6 @@ export default { toggleClass: { default: () => ({}), }, - branchQaSelector: { - default: '', - }, }, props: { currentBranch: { @@ -119,7 +116,6 @@ export default { :input-name="inputs.branch.name" :default="currentBranch" :toggle-class="toggleClass.branch" - :qa-selector="branchQaSelector" data-testid="compare-dropdown" @selected="selectBranch" /> diff --git a/app/assets/javascripts/merge_requests/components/compare_dropdown.vue b/app/assets/javascripts/merge_requests/components/compare_dropdown.vue index 6f46b41ee5b27f926072e9404e452cbfce6fe64a..2855d70450799fb6906bcaa0719cbb02fdfb07d7 100644 --- a/app/assets/javascripts/merge_requests/components/compare_dropdown.vue +++ b/app/assets/javascripts/merge_requests/components/compare_dropdown.vue @@ -46,11 +46,6 @@ export default { required: false, default: '', }, - qaSelector: { - type: String, - required: false, - default: null, - }, }, data() { return { @@ -142,7 +137,7 @@ export default { 'gl-align-items-flex-start! gl-justify-content-start! mr-compare-dropdown', toggleClass, ]" - :data-qa-selector="qaSelector" + data-testid="source-branch-dropdown" @shown="fetchData" @search="searchData" @select="selectItem" diff --git a/app/assets/javascripts/pages/projects/merge_requests/creations/new/index.js b/app/assets/javascripts/pages/projects/merge_requests/creations/new/index.js index 9db400b3b0a53cca6f8713e6fc8c4c65b17754ce..d23a0615bb88fc21a74a64cdb986d5bda54038f3 100644 --- a/app/assets/javascripts/pages/projects/merge_requests/creations/new/index.js +++ b/app/assets/javascripts/pages/projects/merge_requests/creations/new/index.js @@ -43,7 +43,6 @@ if (mrNewCompareNode) { project: 'js-source-project', branch: 'js-source-branch gl-font-monospace', }, - branchQaSelector: 'source_branch_dropdown', }, methods: { async selectedBranch(branchName) { diff --git a/app/assets/javascripts/vue_shared/components/file_row.vue b/app/assets/javascripts/vue_shared/components/file_row.vue index 721f87ff4d652783b4a37e83086b21dd5717d4be..cecd1be82e9acb5374419c5228bf71ce605cdff6 100644 --- a/app/assets/javascripts/vue_shared/components/file_row.vue +++ b/app/assets/javascripts/vue_shared/components/file_row.vue @@ -141,7 +141,6 @@ export default { ref="textOutput" class="file-row-name" :title="file.name" - data-qa-selector="file_name_content" :data-qa-file-name="file.name" data-testid="file-row-name-container" :class="[fileClasses, { 'str-truncated': !truncateMiddle, 'gl-min-w-0': truncateMiddle }]" diff --git a/app/views/projects/blob/_header_content.html.haml b/app/views/projects/blob/_header_content.html.haml index 9cd2f583fdd57c92e4d89c4b58d4516cbf28dd25..8c132a167972a89d39bac05beb5c3010c520ae39 100644 --- a/app/views/projects/blob/_header_content.html.haml +++ b/app/views/projects/blob/_header_content.html.haml @@ -3,7 +3,7 @@ .js-table-contents = blob_icon blob.mode, blob.name - %strong.file-title-name.gl-word-break-all{ data: { qa_selector: 'file_name_content' } } + %strong.file-title-name.gl-word-break-all{ data: { testid: 'file-name-content' } } = blob.name = copy_file_path_button(blob.path) diff --git a/app/views/projects/diffs/_file_header.html.haml b/app/views/projects/diffs/_file_header.html.haml index c3a300958f74eb7329033a8f6e6b22fc84bd13ce..17e55699615a2932c40f6da2616b75fe24665023 100644 --- a/app/views/projects/diffs/_file_header.html.haml +++ b/app/views/projects/diffs/_file_header.html.haml @@ -23,7 +23,7 @@ %strong.file-title-name.has-tooltip.gl-word-break-all{ data: { title: diff_file.new_path, container: 'body' } } = new_path - else - %strong.file-title-name.has-tooltip.gl-word-break-all{ data: { title: diff_file.file_path, container: 'body', qa_selector: 'file_name_content' } } + %strong.file-title-name.has-tooltip.gl-word-break-all{ data: { title: diff_file.file_path, container: 'body', testid: 'file-name-content' } } = diff_file.file_path - if diff_file.deleted_file? diff --git a/ee/app/assets/javascripts/approvals/components/app.vue b/ee/app/assets/javascripts/approvals/components/app.vue index 02a0759cc691e427fe8cd668e3be920b5e46c51e..e18715f2bb3c3d041c4d72be28ea785588885398 100644 --- a/ee/app/assets/javascripts/approvals/components/app.vue +++ b/ee/app/assets/javascripts/approvals/components/app.vue @@ -91,7 +91,6 @@ export default { :disabled="isLoading" category="secondary" size="small" - data-qa-selector="add_approvers_button" data-testid="add-approval-rule" @click="openCreateModal(null)" > diff --git a/ee/app/assets/javascripts/approvals/components/empty_rule.vue b/ee/app/assets/javascripts/approvals/components/empty_rule.vue index bd32619224cb678ad328c6ca8f3416aad0580fcf..36d4f1249968b95bda124a326b73083d6409af27 100644 --- a/ee/app/assets/javascripts/approvals/components/empty_rule.vue +++ b/ee/app/assets/javascripts/approvals/components/empty_rule.vue @@ -64,7 +64,7 @@ export default { v-if="!allowMultiRule && canEdit" category="secondary" variant="confirm" - data-qa-selector="add_approvers_button" + data-testid="add-approval-rule" @click="openCreateModal(null)" > {{ __('Add approval rule') }} diff --git a/ee/app/assets/javascripts/approvals/components/rule_form.vue b/ee/app/assets/javascripts/approvals/components/rule_form.vue index 6d267277e280f852954cdf63a7eaecaa32717e12..c5a9f9825f99bab227783785570dc850b96e3446 100644 --- a/ee/app/assets/javascripts/approvals/components/rule_form.vue +++ b/ee/app/assets/javascripts/approvals/components/rule_form.vue @@ -365,8 +365,7 @@ export default { v-model="name" :disabled="isNameDisabled" :state="isValidName" - data-qa-selector="rule_name_field" - data-testid="name" + data-testid="rule-name-field" /> { }; const findForm = () => wrapper.find('form'); - const findNameInput = () => wrapper.findByTestId('name'); + const findNameInput = () => wrapper.findByTestId('rule-name-field'); const findNameValidation = () => wrapper.findByTestId('name-group'); const findApprovalsRequiredInput = () => wrapper.findByTestId('approvals-required'); const findApprovalsRequiredValidation = () => wrapper.findByTestId('approvals-required-group'); diff --git a/qa/qa/ee/page/merge_request/new.rb b/qa/qa/ee/page/merge_request/new.rb index bac94e0cd58a33969106fb477821c5d1f8000404..3e58712af161e97af785c9d1599f64476558407c 100644 --- a/qa/qa/ee/page/merge_request/new.rb +++ b/qa/qa/ee/page/merge_request/new.rb @@ -14,13 +14,13 @@ def self.prepended(base) include ::QA::Page::Component::Dropdown view 'ee/app/assets/javascripts/approvals/components/app.vue' do - element :add_approvers_button + element 'add-approval-rule' end view 'ee/app/assets/javascripts/approvals/components/rule_form.vue' do - element :approvals_required_field - element :member_select_field - element :rule_name_field + element 'approvals-required' + element 'approvers-group' + element 'rule-name-field' end def add_approval_rules(rules) @@ -28,12 +28,12 @@ def add_approval_rules(rules) click_button('Approval rules') rules.each do |rule| - click_element :add_approvers_button + click_element('add-approval-rule') - wait_for_animated_element :rule_name_field + wait_for_animated_element('rule-name-field') - fill_element :rule_name_field, rule[:name] - fill_element :approvals_required_field, rule[:approvals_required] + fill_element('rule-name-field', rule[:name]) + fill_element('approvals-required', rule[:approvals_required]) rule.key?(:users) && rule[:users].each do |user| select_member(user.username) @@ -58,13 +58,13 @@ def click_approvers_modal_ok_button def select_member(name) retry_until do - within_element(:member_select_field) do - click_button 'Search users or groups' + within_element('approvers-group') do + click_button('Search users or groups') search_item(name) # we must send an extra key to trigger the dropdown to filter # as the filtering does not work correctly with Capybara input - send_keys_to_search :space + send_keys_to_search(:space) select_item(name) end end diff --git a/qa/qa/page/blame/show.rb b/qa/qa/page/blame/show.rb index cbe8ef600dc75022bff3834912eaf63251b37e06..42fb217d2df528b3dc4faa5817dcdba7def089e8 100644 --- a/qa/qa/page/blame/show.rb +++ b/qa/qa/page/blame/show.rb @@ -5,7 +5,7 @@ module Page module Blame class Show < Page::Base view 'app/views/projects/blob/_header_content.html.haml' do - element :file_name_content + element 'file-name-content' end view 'app/views/projects/blame/show.html.haml' do @@ -13,11 +13,11 @@ class Show < Page::Base end def has_file?(file_name) - within_element(:file_name_content) { has_text?(file_name) } + within_element('file-name-content') { has_text?(file_name) } end def has_no_file?(file_name) - within_element(:file_name_content) do + within_element('file-name-content') do has_no_text?(file_name) end end diff --git a/qa/qa/page/merge_request/new.rb b/qa/qa/page/merge_request/new.rb index c129cd10f16f308fa654a2a245a42fd09c13d662..6a59440fc2808700258c22eccb86906950f90dc2 100644 --- a/qa/qa/page/merge_request/new.rb +++ b/qa/qa/page/merge_request/new.rb @@ -15,7 +15,7 @@ class New < Page::Issuable::New end view 'app/assets/javascripts/merge_requests/components/compare_dropdown.vue' do - element :source_branch_dropdown, ':data-qa-selector="qaSelector"' # rubocop:disable QA/ElementWithPattern + element 'source-branch-dropdown', ':data-testid="testid"' # rubocop:disable QA/ElementWithPattern end view 'app/views/projects/merge_requests/creations/_new_submit.html.haml' do @@ -23,7 +23,7 @@ class New < Page::Issuable::New end view 'app/assets/javascripts/diffs/components/diff_file_header.vue' do - element :file_name_content + element 'file-name-content' end def has_secure_description?(scanner_name) @@ -46,11 +46,11 @@ def click_diffs_tab end def has_file?(file_name) - has_element?(:file_name_content, text: file_name) + has_element?('file-name-content', text: file_name) end def select_source_branch(branch) - click_element(:source_branch_dropdown) + click_element('source-branch-dropdown') search_and_select(branch) end end diff --git a/qa/qa/page/merge_request/show.rb b/qa/qa/page/merge_request/show.rb index 2107c09ee904d4455833394cb7d0b8e011a493ba..80541bd9283ae843e26ca0c59de6253aa3a4dede 100644 --- a/qa/qa/page/merge_request/show.rb +++ b/qa/qa/page/merge_request/show.rb @@ -36,12 +36,15 @@ class Show < Page::Base end 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/vue_shared/components/file_row.vue' do + element 'file-row-name-container' + end + view 'app/assets/javascripts/diffs/components/diff_row.vue' do element :diff_comment_button element :new_diff_line_link @@ -226,17 +229,17 @@ def fast_forward_not_possible? def has_file?(file_name) open_file_tree - return true if has_element?(:file_name_content, file_name: file_name) + return true if has_element?('file-row-name-container', file_name: file_name) # Since the file tree uses virtual scrolling, search for file in case it is outside of viewport search_file_tree(file_name) - has_element?(:file_name_content, file_name: file_name) + has_element?('file-row-name-container', file_name: file_name) end def has_no_file?(file_name) # Since the file tree uses virtual scrolling, search for file to ensure non-existence search_file_tree(file_name) - has_no_element?(:file_name_content, file_name: file_name) + has_no_element?('file-row-name-container', file_name: file_name) end def search_file_tree(file_name) diff --git a/qa/qa/page/project/web_ide/edit.rb b/qa/qa/page/project/web_ide/edit.rb index 19802f846d8683943760994b994928d70305e297..16eaa7efba9365b1c4c4243392c1618eff1cf48f 100644 --- a/qa/qa/page/project/web_ide/edit.rb +++ b/qa/qa/page/project/web_ide/edit.rb @@ -58,7 +58,7 @@ class Edit < Page::Base end view 'app/assets/javascripts/vue_shared/components/file_row.vue' do - element :file_name_content + element 'file-row-name-container' element :file_row_container end @@ -123,7 +123,7 @@ def wait_until_ide_loads def has_file?(file_name) within_element(:file_list_container) do - has_element?(:file_name_content, file_name: file_name) + has_element?('file-row-name-container', file_name: file_name) end end @@ -289,7 +289,7 @@ def add_directory(directory_name) end def rename_file(file_name, new_file_name) - click_element(:file_name_content, file_name: file_name) + click_element('file-row-name-container', 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) @@ -314,7 +314,7 @@ def upload_file(file_path) end def delete_file(file_name) - click_element(:file_name_content, file_name: file_name) + click_element('file-row-name-container', file_name: file_name) click_element(:dropdown_button) click_element(:delete_button) end @@ -326,9 +326,9 @@ def switch_to_commit_tab def select_file(file_name) # wait for the list of files to load wait_until(reload: true) do - has_element?(:file_name_content, file_name: file_name) + has_element?('file-row-name-container', file_name: file_name) end - click_element(:file_name_content, file_name: file_name) + click_element('file-row-name-container', file_name: file_name) end def link_line(line_number)