mirror of
https://github.com/discourse/discourse.git
synced 2025-05-23 11:01:11 +08:00
DEV: Don’t replace Rails logger in specs (#29721)
Instead of replacing the Rails logger in specs, we can instead use `#broadcast_to` which has been introduced in Rails 7.
This commit is contained in:
@ -167,12 +167,11 @@ describe "Topic" do
|
||||
end
|
||||
|
||||
context "when creating the post fails" do
|
||||
before do
|
||||
@orig_logger = Rails.logger
|
||||
Rails.logger = @fake_logger = FakeLogger.new
|
||||
end
|
||||
let(:fake_logger) { FakeLogger.new }
|
||||
|
||||
after { Rails.logger = @orig_logger }
|
||||
before { Rails.logger.broadcast_to(fake_logger) }
|
||||
|
||||
after { Rails.logger.stop_broadcasting_to(fake_logger) }
|
||||
|
||||
it "logs a warning" do
|
||||
expect { UserUpdater.new(user, user).update(location: "Japan") }.to change {
|
||||
|
@ -28,12 +28,11 @@ describe "UserGroupMembershipThroughBadge" do
|
||||
end
|
||||
|
||||
context "with invalid field values" do
|
||||
before do
|
||||
@original_logger = Rails.logger
|
||||
Rails.logger = @fake_logger = FakeLogger.new
|
||||
end
|
||||
let(:fake_logger) { FakeLogger.new }
|
||||
|
||||
after { Rails.logger = @original_logger }
|
||||
before { Rails.logger.broadcast_to(fake_logger) }
|
||||
|
||||
after { Rails.logger.stop_broadcasting_to(fake_logger) }
|
||||
|
||||
context "with an unknown badge" do
|
||||
let(:unknown_badge_id) { -1 }
|
||||
@ -47,7 +46,7 @@ describe "UserGroupMembershipThroughBadge" do
|
||||
end
|
||||
|
||||
it "logs warning message and does nothing" do
|
||||
expect(@fake_logger.warnings).to include(
|
||||
expect(fake_logger.warnings).to include(
|
||||
"[discourse-automation] Couldn’t find badge with id #{unknown_badge_id}",
|
||||
)
|
||||
expect(user.reload.groups).to be_empty
|
||||
@ -68,7 +67,7 @@ describe "UserGroupMembershipThroughBadge" do
|
||||
"user" => user,
|
||||
)
|
||||
|
||||
expect(@fake_logger.warnings).to include(
|
||||
expect(fake_logger.warnings).to include(
|
||||
"[discourse-automation] Couldn’t find group with id #{target_group.id}",
|
||||
)
|
||||
expect(user.reload.groups).to be_empty
|
||||
|
@ -22,12 +22,11 @@ describe "ZapierWebhook" do
|
||||
end
|
||||
|
||||
context "with invalid webhook url" do
|
||||
before do
|
||||
@orig_logger = Rails.logger
|
||||
Rails.logger = @fake_logger = FakeLogger.new
|
||||
end
|
||||
let(:fake_logger) { FakeLogger.new }
|
||||
|
||||
after { Rails.logger = @orig_logger }
|
||||
before { Rails.logger.broadcast_to(fake_logger) }
|
||||
|
||||
after { Rails.logger.stop_broadcasting_to(fake_logger) }
|
||||
|
||||
it "logs an error and do nothing" do
|
||||
expect { automation.trigger! }.not_to change {
|
||||
|
Reference in New Issue
Block a user