Sha256: 465ea25d9d5d4596bdb002a0df18f22e5a473b619239fa6569cfb4323502d57c

Contents?: true

Size: 823 Bytes

Versions: 2

Compression:

Stored size: 823 Bytes

Contents

# encoding: utf-8
require 'spec_helper'

describe Goliath::Rack::Builder do

  SimpleMiddleware = Class.new
  NestedMiddleware = Class.new

  class NestedClassApi < Goliath::API
    use NestedMiddleware, 'class'
  end

  class NestedBlockApi < Goliath::API
    use NestedMiddleware, 'block'
  end

  class SimpleRouter < Goliath::API
    use SimpleMiddleware
    map "/class", NestedClassApi
    map "/block" do
      run NestedBlockApi.new
    end
  end

  let(:router) { SimpleRouter.new }

  describe '.build' do

    it "builds rack app for api" do
      Rack::Builder.should_receive(:app)
      Goliath::Rack::Builder.build(router.class, router)
    end

    it "loads rack/goliath middlewares" do
      SimpleMiddleware.should_receive(:new)
      Goliath::Rack::Builder.build(router.class, router)
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
goliath-0.9.4 spec/unit/rack/builder_spec.rb
goliath-0.9.2 spec/unit/rack/builder_spec.rb