DEV: Fix FakeLogger spec issues (#12397)

* DEV: Add `#level` and `#level=` to `FakeLogger`

* DEV: Fix a leaky test
This commit is contained in:
Jarek Radosz
2021-03-15 05:36:10 +01:00
committed by GitHub
parent 5c84f702b0
commit 303d2227cc
2 changed files with 18 additions and 11 deletions

View File

@@ -657,7 +657,10 @@ HTML
end end
it 'warns when the theme has modified the setting type but data cannot be converted' do it 'warns when the theme has modified the setting type but data cannot be converted' do
begin
@orig_logger = Rails.logger
Rails.logger = FakeLogger.new Rails.logger = FakeLogger.new
theme.set_field(target: :settings, name: :yaml, value: "valid_json_schema_setting:\n default: \"\"\n type: \"list\"") theme.set_field(target: :settings, name: :yaml, value: "valid_json_schema_setting:\n default: \"\"\n type: \"list\"")
theme.save! theme.save!
@@ -671,6 +674,9 @@ HTML
theme.convert_settings theme.convert_settings
expect(setting.value).to eq("red,globe") expect(setting.value).to eq("red,globe")
expect(Rails.logger.warnings[0]).to include("Theme setting type has changed but cannot be converted.") expect(Rails.logger.warnings[0]).to include("Theme setting type has changed but cannot be converted.")
ensure
Rails.logger = @orig_logger
end
end end
end end

View File

@@ -2,6 +2,7 @@
class FakeLogger class FakeLogger
attr_reader :warnings, :errors, :infos, :fatals attr_reader :warnings, :errors, :infos, :fatals
attr_accessor :level
def initialize def initialize
@warnings = [] @warnings = []