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)