Sha256: a52c82e2494ccd4bd9769a0a2c7e759c9abc4840bf5fed2e75fdf4d39ca56bcb

Contents?: true

Size: 854 Bytes

Versions: 5

Compression:

Stored size: 854 Bytes

Contents

require 'assert'
require 'ardb/db_tests'

require 'active_record'

class Ardb::DbTests

  class UnitTests < Assert::Context
    desc "Ardb::DbTests"
    setup do
      @transaction_called = false
      Assert.stub(ActiveRecord::Base, :transaction) do |&block|
        @transaction_called = true
        block.call
      end
    end
    subject{ Ardb::DbTests }

    should "be an assert context" do
      assert subject < Assert::Context
    end

    should "add an around callback that runs tests in a transaction that rolls back" do
      assert_equal 1, subject.arounds.size
      callback = subject.arounds.first

      block_yielded_to = false
      assert_raises(ActiveRecord::Rollback) do
        callback.call(proc{ block_yielded_to = true })
      end
      assert_true @transaction_called
      assert_true block_yielded_to
    end

  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ardb-0.28.3 test/unit/db_tests_tests.rb
ardb-0.28.2 test/unit/db_tests_tests.rb
ardb-0.28.1 test/unit/db_tests_tests.rb
ardb-0.28.0 test/unit/db_tests_tests.rb
ardb-0.27.3 test/unit/db_tests_tests.rb