mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
DEV: Fix test incorrectly removing stylesheet cache of other processes (#25103)
Why this change? The `can survive cache miss` test in `spec/requests/stylesheets_controller_spec.rb` was failing because the file was not found on disk for the cache to be regenerated. This is because a test in `spec/lib/stylesheet/manager_spec.rb` was removing the entire `tmp/stylesheet-cache` directory which is incorrect because the folder in the test environment further segretates the stylesheet caches based on the process of the test. What does this change do? 1. Introduce `Stylesheet::Manager.rm_cache_folder` method for the test environment to properly clean up the cache folder. 2. Make `Stylesheet::Manager::CACHE_PATH` a private constant since the cache path should be obtained from the `Stylesheet::Manager.cache_fullpath` method.
This commit is contained in:
committed by
GitHub
parent
1a423f3c2d
commit
5530cb574b
@@ -9,7 +9,9 @@ end
|
||||
class Stylesheet::Manager
|
||||
BASE_COMPILER_VERSION = 1
|
||||
|
||||
CACHE_PATH ||= "tmp/stylesheet-cache"
|
||||
CACHE_PATH = "tmp/stylesheet-cache"
|
||||
private_constant :CACHE_PATH
|
||||
|
||||
MANIFEST_DIR ||= "#{Rails.root}/tmp/cache/assets/#{Rails.env}"
|
||||
THEME_REGEX ||= /_theme\z/
|
||||
COLOR_SCHEME_STYLESHEET ||= "color_definitions"
|
||||
@@ -191,6 +193,12 @@ class Stylesheet::Manager
|
||||
File.join(path, "test_#{ENV["TEST_ENV_NUMBER"].presence || "0"}")
|
||||
end
|
||||
|
||||
if Rails.env.test?
|
||||
def self.rm_cache_folder
|
||||
FileUtils.rm_rf(cache_fullpath)
|
||||
end
|
||||
end
|
||||
|
||||
attr_reader :theme_ids
|
||||
|
||||
def initialize(theme_id: nil)
|
||||
|
||||
Reference in New Issue
Block a user