From 44d1a818a38bd62a7f057f7abef2a13c8bce9656 Mon Sep 17 00:00:00 2001 From: Jarek Radosz Date: Wed, 23 Oct 2024 23:11:19 +0200 Subject: [PATCH] DEV: Avoid a hacky workaround in d-toggle-switch specs (#29376) --- .../spec/system/admin_plugins_list_spec.rb | 2 +- .../page_objects/components/d_toggle_switch.rb | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/plugins/automation/spec/system/admin_plugins_list_spec.rb b/plugins/automation/spec/system/admin_plugins_list_spec.rb index 4fe4f338a49..b84397e965f 100644 --- a/plugins/automation/spec/system/admin_plugins_list_spec.rb +++ b/plugins/automation/spec/system/admin_plugins_list_spec.rb @@ -37,7 +37,7 @@ describe "Admin Plugins List", type: :system, js: true do toggle_switch = PageObjects::Components::DToggleSwitch.new( admin_plugins_list_page.plugin_row_selector("automation") + - " .admin-plugins-list__enabled .d-toggle-switch", + " .admin-plugins-list__enabled .d-toggle-switch__checkbox", ) toggle_switch.toggle expect(toggle_switch).to be_unchecked diff --git a/spec/system/page_objects/components/d_toggle_switch.rb b/spec/system/page_objects/components/d_toggle_switch.rb index 70997423c19..40667d3ca69 100644 --- a/spec/system/page_objects/components/d_toggle_switch.rb +++ b/spec/system/page_objects/components/d_toggle_switch.rb @@ -9,23 +9,22 @@ module PageObjects @context = context end - def component - find(@context, visible: :all).native + def label_component + find(context, visible: :all).ancestor("label.d-toggle-switch__label") end def toggle - actionbuilder = page.driver.browser.action # workaround zero height button - actionbuilder.click(component).perform + label_component.click end def checked? - find(@context).has_css?(".d-toggle-switch__checkbox[aria-checked=\"true\"]", visible: false) + label_component.has_css?(".d-toggle-switch__checkbox[aria-checked=\"true\"]", visible: :all) end def unchecked? - find(@context).has_css?( + label_component.has_css?( ".d-toggle-switch__checkbox[aria-checked=\"false\"]", - visible: false, + visible: :all, ) end end