Sha256: 3d5ba319df60fe861d0481b9a9897e040d8c14541754f93c19733ef1363d4188

Contents?: true

Size: 1.08 KB

Versions: 34

Compression:

Stored size: 1.08 KB

Contents

require 'spec_helper'

module Startback
  class Context

    class MyContextSubClass < Context
    end

    describe Middleware do
      include Rack::Test::Methods

      def app
        build_args = self.build_args
        Rack::Builder.new do
          use Middleware, *build_args
          run ->(env){
            ctx = env[Startback::Context::Middleware::RACK_ENV_KEY]
            [200, {}, ctx.class.to_s]
          }
        end
      end

      context 'when used without context' do
        let(:build_args){ [] }

        it 'sets the default context class' do
          get '/'
          expect(last_response.status).to eql(200)
          expect(last_response.body).to eql("Startback::Context")
        end
      end

      context 'when specifying the context class' do
        let(:build_args){ [MyContextSubClass.new] }

        it 'sets the default context class' do
          get '/'
          expect(last_response.status).to eql(200)
          expect(last_response.body).to eql("Startback::Context::MyContextSubClass")
        end
      end

    end
  end # module Web
end # module Startback

Version data entries

34 entries across 34 versions & 3 rubygems

Version Path
startback-1.0.3 spec/unit/context/test_middleware.rb
startback-1.0.2 spec/unit/context/test_middleware.rb
startback-1.0.1 spec/unit/context/test_middleware.rb
startback-1.0.0 spec/unit/context/test_middleware.rb
startback-0.19.4 spec/unit/context/test_middleware.rb
startback-0.19.3 spec/unit/context/test_middleware.rb
startback-0.19.1 spec/unit/context/test_middleware.rb
startback-0.19.0 spec/unit/context/test_middleware.rb
startback-0.18.2 spec/unit/context/test_middleware.rb
startback-0.18.1 spec/unit/context/test_middleware.rb
startback-0.18.0 spec/unit/context/test_middleware.rb
startback-0.17.4 spec/unit/context/test_middleware.rb
startback-0.17.3 spec/unit/context/test_middleware.rb
startback-0.17.2 spec/unit/context/test_middleware.rb
startback-0.17.1 spec/unit/context/test_middleware.rb
startback-0.17.0 spec/unit/context/test_middleware.rb
startback-0.16.0 spec/unit/context/test_middleware.rb
startback-0.15.5 spec/unit/context/test_middleware.rb
startback-0.15.4 spec/unit/context/test_middleware.rb
startback-0.15.3 spec/unit/context/test_middleware.rb