diff --git a/spec/components/theme_store/zip_exporter_spec.rb b/spec/components/theme_store/zip_exporter_spec.rb
index 922ae3081d7..e8c460709b9 100644
--- a/spec/components/theme_store/zip_exporter_spec.rb
+++ b/spec/components/theme_store/zip_exporter_spec.rb
@@ -4,17 +4,20 @@ require 'rails_helper'
require 'theme_store/zip_exporter'
describe ThemeStore::ZipExporter do
+ let(:rand_hex) do
+ +"X" << SecureRandom.hex
+ end
let!(:theme) do
Fabricate(:theme, name: "Header Icons").tap do |theme|
theme.set_field(target: :common, name: :body_tag, value: "testtheme1")
- theme.set_field(target: :settings, name: :yaml, value: "somesetting: test")
+ theme.set_field(target: :settings, name: :yaml, value: "somesetting: #{rand_hex}")
theme.set_field(target: :mobile, name: :scss, value: 'body {background-color: $background_color; font-size: $font-size}')
theme.set_field(target: :translations, name: :en, value: { en: { key: "value" } }.deep_stringify_keys.to_yaml)
image = file_from_fixtures("logo.png")
upload = UploadCreator.new(image, "logo.png").create_for(Discourse::SYSTEM_USER_ID)
theme.set_field(target: :common, name: :logo, upload_id: upload.id, type: :theme_upload_var)
image = file_from_fixtures("logo.png")
- other_upload = UploadCreator.new(image, "logo.png").create_for(Discourse::SYSTEM_USER_ID)
+ _other_upload = UploadCreator.new(image, "logo.png").create_for(Discourse::SYSTEM_USER_ID)
theme.set_field(target: :common, name: "other_logo", upload_id: upload.id, type: :theme_upload_var)
theme.build_remote_theme(remote_url: "", about_url: "abouturl", license_url: "licenseurl",
authors: "David Taylor", theme_version: "1.0", minimum_discourse_version: "1.0.0",
@@ -61,7 +64,6 @@ describe ThemeStore::ZipExporter do
it "exports the theme correctly" do
package
file = 'discourse-header-icons.zip'
- dest = 'discourse-header-icons'
Dir.chdir(dir) do
available_size = SiteSetting.decompressed_theme_max_file_size_mb
Compression::Zip.new.decompress(dir, file, available_size, allow_non_root_folder: true)
@@ -103,8 +105,14 @@ describe ThemeStore::ZipExporter do
expect(File.read("common/body_tag.html")).to eq("testtheme1")
expect(File.read("mobile/mobile.scss")).to eq("body {background-color: $background_color; font-size: $font-size}")
- expect(File.read("settings.yml")).to eq("somesetting: test")
+ expect(File.read("settings.yml")).to eq("somesetting: #{rand_hex}")
expect(File.read("locales/en.yml")).to eq({ en: { key: "value" } }.deep_stringify_keys.to_yaml)
+
+ theme.update!(name: "Discourse Header Icons")
+ exporter = ThemeStore::ZipExporter.new(theme)
+ filename = exporter.package_filename
+ exporter.cleanup!
+ expect(filename).to end_with "/discourse-header-icons.zip"
end
end
@@ -119,12 +127,4 @@ describe ThemeStore::ZipExporter do
end.to raise_error(RuntimeError)
end
- it "doesn't prepend 'discourse' to filename if already there" do
- theme.update!(name: "Discourse Header Icons")
- exporter = ThemeStore::ZipExporter.new(theme)
- filename = exporter.package_filename
- exporter.cleanup!
- expect(filename).to end_with "/discourse-header-icons.zip"
- end
-
end