FIX: Fix safe mode regression

Follow up from a48731e
This commit is contained in:
David Taylor 2019-01-25 17:00:19 +00:00
parent 78ddc82952
commit 2e48c43546
3 changed files with 13 additions and 3 deletions

View File

@ -134,10 +134,10 @@ class Theme < ActiveRecord::Base
all_ids = [parent, *components]
enabled_ids = Theme.where(id: all_ids).includes(:remote_theme)
.select(&:enabled?).pluck(:id)
disabled_ids = Theme.where(id: all_ids).includes(:remote_theme)
.reject(&:enabled?).pluck(:id)
all_ids & enabled_ids # Maintain ordering using intersection
all_ids - disabled_ids
end
end

View File

@ -15,6 +15,11 @@ describe Stylesheet::Manager do
expect(link).not_to eq("")
end
it "still returns something for no themes" do
link = Stylesheet::Manager.stylesheet_link_tag(:desktop, 'all', [])
expect(link).not_to eq("")
end
it 'can correctly compile theme css' do
theme = Fabricate(:theme)

View File

@ -65,6 +65,11 @@ describe Theme do
expect(Theme.transform_ids([theme.id])).to be_empty
end
it "#transform_ids works with nil values" do
# Used in safe mode
expect(Theme.transform_ids([nil])).to eq([nil])
end
it "doesn't allow multi-level theme components" do
grandchild = Fabricate(:theme, user: user)
grandparent = Fabricate(:theme, user: user)