DEV: Refactor subclasses in ThemeSettingsManager to individual files (#25605)

Why this change?

One Ruby class per file improves readability
This commit is contained in:
Alan Guo Xiang Tan
2024-02-08 12:59:52 +08:00
committed by GitHub
parent 7ce76143ac
commit fb0e656cb7
12 changed files with 197 additions and 185 deletions

View File

@ -1,7 +1,5 @@
# frozen_string_literal: true
require "theme_settings_manager"
RSpec.describe ThemeSettingsManager do
let!(:theme) { Fabricate(:theme) }
@ -12,8 +10,6 @@ RSpec.describe ThemeSettingsManager do
theme.settings
end
before { SiteSetting.experimental_objects_type_for_theme_settings = true }
describe "Enum" do
it "only accepts values from its choices" do
enum_setting = theme_settings[:enum_setting]
@ -186,21 +182,4 @@ RSpec.describe ThemeSettingsManager do
end
end
end
describe ThemeSettingsManager::Objects do
it "can store a list of objects" do
objects_setting = theme_settings[:valid_objects_setting]
expect(objects_setting.value).to eq(
[{ "title" => "Some title", "description" => "Some description" }],
)
objects_setting.value = [{ title: "title 1", description: "description 1" }]
objects_setting = theme.reload.settings[:valid_objects_setting]
expect(objects_setting.value).to eq(
[{ "title" => "title 1", "description" => "description 1" }],
)
end
end
end