Sha256: 50048400fe7ec7a381a5bd0b635fdcd41698fcfaef890cd5ff0fcb84d5c6faef
Contents?: true
Size: 1.76 KB
Versions: 2
Compression:
Stored size: 1.76 KB
Contents
require 'sitehub/middleware' class SiteHub describe Middleware do include_context :middleware_test subject do Object.new.tap do |o| o.extend(described_class) end end describe '#use' do it 'stores the middleware to be used by the forward proxies' do block = proc {} args = [:args] subject.use :middleware, *args, &block expect(subject.middlewares).to eq([[:middleware, args, block]]) end end describe '#apply_middleware' do context 'middleware defined' do it 'wraps the supplied app in the middleware' do subject.use middleware result = subject.apply_middleware(:app) expect(result).to be_a(middleware) expect(result.app).to eq(:app) end it 'wraps the supplied app in the middleware in the order they were supplied' do middleware_1 = create_middleware middleware_2 = create_middleware subject.use middleware_1 subject.use middleware_2 result = subject.apply_middleware(:app) expect(result).to be_a(middleware_1) expect(result).to be_using(middleware_2) end context 'args supplied' do it 'passes the arg to the middleware' do subject.use middleware, :arg result = subject.apply_middleware(:app) expect(result.arg).to eq(:arg) end end context 'block supplied' do it 'passes the block to the middleware' do block_passed = false subject.use middleware do block_passed = true end subject.apply_middleware(:app) expect(block_passed).to be(true) end end end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sitehub-0.4.2 | spec/sitehub/middleware_spec.rb |
sitehub-0.4.1 | spec/sitehub/middleware_spec.rb |