DEV: Add save button to editing typed objects theme setting route (#26133)

Why this change?

This is still a work in progress but allows objects type theme setting
to be saved.
This commit is contained in:
Alan Guo Xiang Tan
2024-03-13 06:52:46 +08:00
committed by GitHub
parent a24c16c911
commit 5b8652965a
13 changed files with 261 additions and 103 deletions
@@ -15,6 +15,20 @@ module PageObjects
has_css?(".select-inactive-mode")
end
def has_overridden_setting?(setting_name)
has_css?(overridden_setting_selector(setting_name))
end
def has_no_overriden_setting?(setting_name)
has_no_css?(overridden_setting_selector(setting_name))
end
def reset_overridden_setting(setting_name)
setting_section = find("section.theme.settings .setting[data-setting=\"#{setting_name}\"]")
setting_section.click_button(I18n.t("admin_js.admin.settings.reset"))
setting_section.find(".setting-controls .ok").click
end
def click_select_inactive_mode
find(".select-inactive-mode").click
end
@@ -41,12 +55,19 @@ module PageObjects
def click_edit_objects_theme_setting_button(setting_name)
find(".theme-setting[data-setting=\"#{setting_name}\"] .setting-value-edit-button").click
PageObjects::Pages::AdminObjectsThemeSettingEditor.new
end
def click_theme_settings_editor_button
click_button(I18n.t("admin_js.admin.customize.theme.settings_editor"))
PageObjects::Components::AdminThemeSettingsEditor.new
end
private
def overridden_setting_selector(setting_name)
"section.theme.settings .setting.overridden[data-setting=\"#{setting_name}\"]"
end
end
end
end
@@ -0,0 +1,27 @@
# frozen_string_literal: true
module PageObjects
module Pages
class AdminObjectsThemeSettingEditor < PageObjects::Pages::Base
def has_setting_field?(field_name, value)
expect(input_field(field_name).value).to eq(value)
end
def fill_in_field(field_name, value)
input_field(field_name).fill_in(with: value)
self
end
def save
click_button(I18n.t("js.save"))
self
end
private
def input_field(field_name)
page.find(".schema-field[data-name=\"#{field_name}\"] input")
end
end
end
end