From 881e02b9e3076cef4f2bd2308ef2f81b2dac34a2 Mon Sep 17 00:00:00 2001 From: Jay McCure <jmccure@gitlab.com> Date: Fri, 12 Apr 2024 10:11:37 +0000 Subject: [PATCH] E2E test: handle approval rule draw in tests --- .../approvals/components/rule_drawer/create_rule.vue | 7 ++++++- qa/qa/ee/page/merge_request/new.rb | 11 ++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ee/app/assets/javascripts/approvals/components/rule_drawer/create_rule.vue b/ee/app/assets/javascripts/approvals/components/rule_drawer/create_rule.vue index 348b4c8d7d02..55e681075d5c 100644 --- a/ee/app/assets/javascripts/approvals/components/rule_drawer/create_rule.vue +++ b/ee/app/assets/javascripts/approvals/components/rule_drawer/create_rule.vue @@ -78,7 +78,12 @@ export default { </template> <template #header> - <gl-button variant="confirm" :loading="isLoading" @click="submit"> + <gl-button + variant="confirm" + data-testid="save-approval-rule-button" + :loading="isLoading" + @click="submit" + > {{ $options.I18N.saveChanges }} </gl-button> <gl-button variant="confirm" category="secondary" @click="$emit('close')"> diff --git a/qa/qa/ee/page/merge_request/new.rb b/qa/qa/ee/page/merge_request/new.rb index 5f2f21f88604..c8a208177a91 100644 --- a/qa/qa/ee/page/merge_request/new.rb +++ b/qa/qa/ee/page/merge_request/new.rb @@ -23,6 +23,10 @@ def self.prepended(base) element 'rule-name-field' end + view 'ee/app/assets/javascripts/approvals/components/rule_drawer/create_rule.vue' do + element 'save-approval-rule-button' + end + def add_approval_rules(rules) # The Approval rules button/link is a gitlab-ui component that doesn't have a QA selector click_button('Approval rules') @@ -51,7 +55,12 @@ def add_approval_rules(rules) # add a data attribute to the 'Ok' button without overriding it # So we break the rules and use a CSS selector instead of an element def click_approvers_modal_ok_button - find("#mr-edit-approvals-create-modal footer button.btn-confirm").click + # Conditional to handle approval rule draw https://gitlab.com/gitlab-org/gitlab/-/issues/444628 + if has_element?('save-approval-rule-button') + click_element('save-approval-rule-button') + else + find("#mr-edit-approvals-create-modal footer button.btn-confirm").click + end end private -- GitLab