/
logger_test.rb
64 lines (51 loc) · 1.57 KB
/
logger_test.rb
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
require 'test_helper'
describe Hanami::Config::Logger do
let(:logger) { Hanami::Config::Logger.new }
let(:path) { 'path/to/log/file' }
describe '#stream' do
it 'contains steam object' do
logger.stream(path)
logger.stream.must_equal path
end
it 'contains STDOUT value by default' do
logger.stream.must_equal STDOUT
end
end
describe '#name' do
it 'contains name' do
logger.app_name('test_app')
logger.app_name.must_equal 'test_app'
end
end
describe '#custom logger' do
let(:custom_logger) { ::Logger.new(STDOUT) }
it 'contains name' do
logger.custom_logger(custom_logger)
logger.custom_logger.must_equal custom_logger
end
it 'contains nil by default' do
logger.custom_logger.must_equal nil
end
end
describe '#build' do
it 'returns new Utils::Logger instance' do
logger.build.must_be_instance_of Hanami::Logger
end
describe 'when stream value is set' do
let(:io) { StringIO.new }
it 'returns new Utils::Logger instance with changed log_device' do
logger.stream(io)
builded_logger = logger.build
builded_logger.must_be_instance_of Hanami::Logger
builded_logger.instance_variable_get("@device").must_equal io
end
end
describe 'when user set custom logger instance' do
it 'returns new Utils::Logger instance with changed log_device' do
logger.custom_logger(::Logger.new(STDOUT))
builded_logger = logger.build
builded_logger.must_be_instance_of ::Logger
end
end
end
end