Module: Sidekiq::TransactionGuard::MinitestHelper

Defined in:
lib/sidekiq/transaction_guard/minitest.rb

Overview

Minitest helper module for testing with Sidekiq::TransactionGuard.

Include this module in your test class to automatically wrap tests in the Sidekiq::TransactionGuard.testing block and handle transactional fixtures.

Examples:

class MyTest < Minitest::Test
  include Sidekiq::TransactionGuard::MinitestHelper

  def test_something
    # Test code here
  end
end

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/sidekiq/transaction_guard/minitest.rb', line 21

def self.included(base)
  base.class_eval do
    # Save the original mode before the test suite runs
    @@sidekiq_transaction_guard_mode = Sidekiq::TransactionGuard.mode
    Sidekiq::TransactionGuard.mode = :disabled

    def setup
      @sidekiq_transaction_guard_saved_mode = Sidekiq::TransactionGuard.mode
      Sidekiq::TransactionGuard.mode = :error
      Sidekiq::TransactionGuard.testing do
        @sidekiq_transaction_guard_testing_block = true
        super
      end
    end

    def teardown
      super
      Sidekiq::TransactionGuard.mode = @sidekiq_transaction_guard_saved_mode
    end
  end
end