Sha256: fb3dadb9daea1f55a1d48b1ab0c1de62e734582796e57f5044df0b15b2e2dcd1

Contents?: true

Size: 981 Bytes

Versions: 4

Compression:

Stored size: 981 Bytes

Contents

require 'minitest/test'
require 'minitest/autorun'

require 'request_store'

class MiddlewareTest < Minitest::Test
  def setup
    @app = RackApp.new
    @middleware = RequestStore::Middleware.new(@app)
  end

  def test_middleware_resets_store
    2.times { @middleware.call({}) }

    assert_equal 1, @app.last_value
    assert_equal({}, RequestStore.store)
  end

  def test_middleware_resets_store_on_error
    e = assert_raises RuntimeError do
      @middleware.call({:error => true})
    end

    assert_equal 'FAIL', e.message
    assert_equal({}, RequestStore.store)
  end

  def test_middleware_begins_store
    @middleware.call({})
    assert_equal true, @app.store_active
  end

  def test_middleware_ends_store
    @middleware.call({})
    assert_equal false, RequestStore.active?
  end

  def test_middleware_ends_store_on_error
    assert_raises RuntimeError do
      @middleware.call({:error => true})
    end

    assert_equal false, RequestStore.active?
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/request_store-1.3.2/test/middleware_test.rb
request_store-1.3.2 test/middleware_test.rb
request_store-1.3.1 test/middleware_test.rb
request_store-1.3.0 test/middleware_test.rb