From f0936178a1cc9c28b022d3196b5afcac0f874657 Mon Sep 17 00:00:00 2001 From: st0012 Date: Mon, 19 Apr 2021 19:37:47 +0800 Subject: [PATCH] Add failing spec --- spec/rspec/rails/fixture_support_spec.rb | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/spec/rspec/rails/fixture_support_spec.rb b/spec/rspec/rails/fixture_support_spec.rb index 674a065fab..62b08a303f 100644 --- a/spec/rspec/rails/fixture_support_spec.rb +++ b/spec/rspec/rails/fixture_support_spec.rb @@ -12,6 +12,33 @@ module RSpec::Rails end end + context "with use_transactional_tests set to true" do + it "works with #uses_transaction helper" do + group = RSpec::Core::ExampleGroup.describe do + include FixtureSupport + self.use_transactional_tests = true + + uses_transaction "doesn't run in transaction" + + it "doesn't run in transaction" do + expect(ActiveRecord::Base.connection.transaction_open?).to eq(false) + end + + it "runs in transaction" do + expect(ActiveRecord::Base.connection.transaction_open?).to eq(true) + end + end + + expect_to_pass(group) + end + + def expect_to_pass(group) + result = group.run(failure_reporter) + failure_reporter.exceptions.map { |e| raise e } + expect(result).to be true + end + end + it "will allow #setup_fixture to run successfully", skip: Rails.version.to_f <= 6.0 do group = RSpec::Core::ExampleGroup.describe do include FixtureSupport