Sha256: 839992ce8a332afce19b2ff1fdedf10490ab0e526066d0cbb196d6ceb46972a7

Contents?: true

Size: 756 Bytes

Versions: 1

Compression:

Stored size: 756 Bytes

Contents

require 'spec_helper'
require 'rack/test'
require 'erb'
require 'json'
require 'lydia/application'

describe 'Middleware' do
  include Rack::Test::Methods

  class UpcaseMiddleware
    def initialize(app)
      @app = app
    end

    def call(env)
      status, headers, body = @app.call(env)
      upcased_body = body.map(&:upcase)
      [status, headers, upcased_body]
    end
  end

  class TestMiddleware < Lydia::Application
    use UpcaseMiddleware

    get '/hello' do
      'Hello world!'
    end
  end

  def app
    TestMiddleware.new
  end

  context 'Middleware stack' do
    it 'is correctly handled' do
      get '/hello'
      expect(last_response.status).to eq(200)
      expect(last_response.body).to eq('HELLO WORLD!')
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
lydia-0.1.4 spec/middleware_spec.rb