From 8979bc9713a1356891d703bfc3e26afcad3d0d80 Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Fri, 18 Feb 2022 17:50:05 -0800 Subject: [PATCH] Added tests for log subscriber [skip ci] --- test/log_subscriber_test.rb | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+), 0 deletions(-) create mode 100644 test/log_subscriber_test.rb diff --git a/test/log_subscriber_test.rb b/test/log_subscriber_test.rb new file mode 100644 index 0000000..5b7e2ee --- /dev/null +++ b/test/log_subscriber_test.rb @@ -0,0 +1,41 @@ +require_relative "test_helper" + +class LogSubscriberTest < Minitest::Test + def test_create + output = capture_logs do + Product.create!(name: "Product A") + end + assert_match "Product Store", output + end + + def test_update + product = Product.create!(name: "Product A") + output = capture_logs do + product.update!(name: "Product B") + end + assert_match "Product Store", output + end + + def test_destroy + product = Product.create!(name: "Product A") + output = capture_logs do + product.destroy + end + assert_match "Product Remove", output + end + + def capture_logs + previous_logger = ActiveSupport::LogSubscriber.logger + io = StringIO.new + begin + ActiveSupport::LogSubscriber.logger = ActiveSupport::Logger.new(io) + yield + io.rewind + output = io.read + previous_logger.debug(output) if previous_logger + output + ensure + ActiveSupport::LogSubscriber.logger = previous_logger + end + end +end -- libgit2 0.21.0