Sha256: 51da9526a4655a06fa1c60627947be3dd8301c6ac0a5325eeae37687e8759ce5

Contents?: true

Size: 1.08 KB

Versions: 3

Compression:

Stored size: 1.08 KB

Contents

# encoding: UTF-8

require "spec_helper"
require "rack"

module Bunch
  describe Middleware do
    let(:app) { stub(:app) }
    let(:root) { ::File.expand_path("../../example_tree", __FILE__) }
    let(:middleware) do
      Middleware.new(app, "/javascripts" => root, environment: "production")
    end

    it "serves matching requests" do
      env = Rack::MockRequest.env_for("/javascripts/directory")

      status, headers, body = middleware.call(env)

      status.must_equal 200
      headers["Content-Type"].must_equal "text/plain"
      body.must_equal ["2\n\n1\n"]
    end

    it "cascades if there's no appropriate mapping" do
      env = Rack::MockRequest.env_for("/alskjdlakj")
      app.expects(:call).with(env).returns "OK"

      middleware.call(env).must_equal "OK"
    end

    it "doesn't cascade if the Bunch server 404s" do
      root = ::File.expand_path("../../example_tree", __FILE__)
      env  = Rack::MockRequest.env_for("/javascripts/directories")
      app.expects(:call).never

      status, headers, body = middleware.call(env)

      status.must_equal 404
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
bunch-1.0.0pre3 spec/bunch/middleware_spec.rb
bunch-1.0.0pre2 spec/bunch/middleware_spec.rb
bunch-1.0.0pre1 spec/bunch/middleware_spec.rb