Sha256: c0ce1157a292b639ec3bbf74d5296e0b2e71f0b04a8c26cab09bf758f5d44362

Contents?: true

Size: 839 Bytes

Versions: 1

Compression:

Stored size: 839 Bytes

Contents

require 'spec_helper'

Goliath.env = 'dev'

class ReloaderDev < Goliath::API
  use Goliath::Rack::Params
end

class ReloaderAlreadyLoaded < Goliath::API
  use ::Rack::Reloader, 0
  use Goliath::Rack::Params
end

class ReloaderProd < Goliath::API
end

describe "Reloader" do
  let(:err) { Proc.new { fail "API request failed" } }

  before(:each) { Goliath.env = "dev" }
  after(:each) { Goliath.env = "test" }

  def count(klass)
    cnt = 0
    klass.middlewares.each do |mw|
      cnt += 1 if mw.first == ::Rack::Reloader
    end
    cnt
  end

  it 'adds reloader in dev mode' do
    count(ReloaderDev).should == 1
  end

  it "doesn't add if it's already there in dev mode" do
    count(ReloaderAlreadyLoaded).should == 1
  end

  it "doesn't add in prod mode" do
    Goliath.env = "prod"
    count(ReloaderProd).should == 0
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
goliath-0.9.1 spec/integration/reloader_spec.rb