Implement verbose mode
This commit is contained in:
@@ -88,6 +88,20 @@ module Uh
|
||||
end
|
||||
end
|
||||
|
||||
context 'with verbose option' do
|
||||
let(:arguments) { %w[-v] }
|
||||
|
||||
it 'sets the env as verbose' do
|
||||
cli.parse_arguments!
|
||||
expect(cli.env).to be_verbose
|
||||
end
|
||||
|
||||
it 'tells the env to log its logger level' do
|
||||
expect(cli.env).to receive :log_logger_level
|
||||
cli.parse_arguments!
|
||||
end
|
||||
end
|
||||
|
||||
context 'with invalid option' do
|
||||
let(:arguments) { %w[--unknown-option] }
|
||||
|
||||
|
@@ -3,7 +3,7 @@ module Uh
|
||||
RSpec.describe Env do
|
||||
let(:output) { StringIO.new }
|
||||
let(:logger) { Logger.new(StringIO.new) }
|
||||
subject(:env) { described_class.new output, logger: logger }
|
||||
subject(:env) { described_class.new output }
|
||||
|
||||
it 'has verbose mode disabled' do
|
||||
expect(env).not_to be_verbose
|
||||
@@ -29,20 +29,32 @@ module Uh
|
||||
|
||||
describe '#logger' do
|
||||
it 'returns a logger' do
|
||||
expect(env.logger).to be_a ::Logger
|
||||
expect(env.logger).to be_a Logger
|
||||
end
|
||||
|
||||
it 'has logger level warn set' do
|
||||
expect(env.logger.level).to be Logger::WARN
|
||||
end
|
||||
|
||||
context 'when verbose mode is enabled' do
|
||||
before { env.verbose = true }
|
||||
|
||||
it 'has logger level info set' do
|
||||
expect(env.logger.level).to be Logger::INFO
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#log' do
|
||||
it 'logs given message at info level' do
|
||||
expect(logger).to receive(:info).with 'some message'
|
||||
expect(env.logger).to receive(:info).with 'some message'
|
||||
env.log 'some message'
|
||||
end
|
||||
end
|
||||
|
||||
describe '#log_logger_level' do
|
||||
it 'logs the logger level' do
|
||||
expect(logger).to receive(:info).with /log.+(warn|info|debug).+level/i
|
||||
expect(env.logger).to receive(:info).with /log.+(warn|info|debug).+level/i
|
||||
env.log_logger_level
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user