DEV: Avoid a hacky workaround in d-toggle-switch specs (#29376)

This commit is contained in:
Jarek Radosz 2024-10-23 23:11:19 +02:00 committed by GitHub
parent d471c01ff6
commit 44d1a818a3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 7 additions and 8 deletions

View File

@ -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

View File

@ -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