mirror of
https://github.com/discourse/discourse.git
synced 2024-12-01 00:33:44 +08:00
df373d90fe
To add a components link to the sidebar refactoring was required to create unique URLs for themes and components. Before the query param was used. After changes, we have two URLs `/admin/customize/themes` and `/admin/customize/components`.
98 lines
2.7 KiB
Ruby
98 lines
2.7 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
module PageObjects
|
|
module Pages
|
|
class AdminCustomizeThemes < PageObjects::Pages::Base
|
|
def has_inactive_themes?
|
|
has_css?(".inactive-indicator")
|
|
end
|
|
|
|
def has_no_inactive_themes?
|
|
has_no_css?(".inactive-indicator")
|
|
end
|
|
|
|
def has_select_inactive_mode_button?
|
|
has_css?(".select-inactive-mode")
|
|
end
|
|
|
|
def has_overridden_setting?(setting_name)
|
|
has_css?(setting_selector(setting_name, overridden: true))
|
|
end
|
|
|
|
def has_no_overriden_setting?(setting_name)
|
|
has_no_css?(setting_selector(setting_name, overridden: true))
|
|
end
|
|
|
|
def has_setting_description?(setting_name, description)
|
|
has_css?("#{setting_selector(setting_name)} .desc", exact_text: description)
|
|
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
|
|
|
|
def cancel_select_inactive_mode
|
|
find(".cancel-select-inactive-mode").click
|
|
end
|
|
|
|
def has_inactive_themes_selected?(count:)
|
|
has_css?(".inactive-theme input:checked", count: count)
|
|
end
|
|
|
|
def has_themes?(count:)
|
|
has_css?(".themes-list-container__item", count: count)
|
|
end
|
|
|
|
def toggle_all_inactive
|
|
find(".toggle-all-inactive").click
|
|
end
|
|
|
|
def has_disabled_delete_theme_button?
|
|
find_button("Delete", disabled: true)
|
|
end
|
|
|
|
def click_delete_themes_button
|
|
find(".btn-delete").click
|
|
end
|
|
|
|
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
|
|
|
|
def switch_to_components
|
|
find(".components-tab").click
|
|
end
|
|
|
|
def switch_to_themes
|
|
find(".themes-tab").click
|
|
end
|
|
|
|
def search(term)
|
|
find(".themes-list-search__input").fill_in with: term
|
|
end
|
|
|
|
def has_no_search?
|
|
has_no_css?(".themes-list-search__input")
|
|
end
|
|
|
|
private
|
|
|
|
def setting_selector(setting_name, overridden: false)
|
|
"section.theme.settings .setting#{overridden ? ".overridden" : ""}[data-setting=\"#{setting_name}\"]"
|
|
end
|
|
end
|
|
end
|
|
end
|