Sha256: 43f6b3401b6aa823ebbffb2178b697d214e0622a63f71566a094263dfcb935be

Contents?: true

Size: 770 Bytes

Versions: 2

Compression:

Stored size: 770 Bytes

Contents

require 'spec_helper'

describe Fluffle::MiddlewareStack do
  describe '#call' do
    it 'calls the middleware in the correct order' do
      order = []

      middleware1 = ->(parent) {
        order.push :pre1
        result = parent.call
        order.push :post1
        result
      }

      middleware2 = ->(parent) {
        order.push :pre2
        result = parent.call
        order.push :post2
        result
      }

      result = double 'result'
      block = -> {
        order.push :block
        result
      }

      subject.push middleware1
      subject.push middleware2
      expect(subject.call(&block)).to eq result
      expect(order).to eq [
        :pre1,
        :pre2,
        :block,
        :post2,
        :post1,
      ]
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fluffle-1.1.0 spec/middleware_stack_spec.rb
fluffle-1.0.1 spec/middleware_stack_spec.rb