mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
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:
@@ -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
|
||||
Reference in New Issue
Block a user