1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
require 'spec_helper'
require 'sinatra/custom_logger'
RSpec.describe Sinatra::CustomLogger do
before do
rack_logger = @rack_logger = double
mock_app do
helpers Sinatra::CustomLogger
before do
env['rack.logger'] = rack_logger
end
get '/' do
logger.info 'Logged message'
'Response'
end
end
end
describe '#logger' do
it 'falls back to request.logger' do
expect(@rack_logger).to receive(:info).with('Logged message')
get '/'
end
context 'logger setting is set' do
before do
custom_logger = @custom_logger = double
@app.class_eval do
configure do
set :logger, custom_logger
end
end
end
it 'calls custom logger' do
expect(@custom_logger).to receive(:info).with('Logged message')
get '/'
end
end
end
end
|