LogAppenderTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 58
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 3

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 3
dl 0
loc 58
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
B testAppend() 0 40 1
A logEventProvider() 0 11 1
1
<?php
2
3
namespace PamiModule\Log;
4
5
use Zend\Log\Logger;
6
7
class LogAppenderTest extends \PHPUnit_Framework_TestCase
8
{
9
    /**
10
     * @dataProvider logEventProvider
11
     */
12
    public function testAppend($levelInt, $zendLogInt)
13
    {
14
        $logger = $this->getMockBuilder('Zend\\Log\\Logger')
15
            ->setMethods(['log'])
16
            ->getMock();
17
18
        $loggerLevel = $this->getMockBuilder('LoggerLevel')
19
            ->disableOriginalConstructor()
20
            ->setMethods(['toInt'])
21
            ->getMock();
22
23
        $event = $this->getMockBuilder('LoggerLoggingEvent')
24
            ->disableOriginalConstructor()
25
            ->setMethods(['getLevel', 'getMessage'])
26
            ->getMock();
27
28
        $logger->expects(static::once())
29
            ->method('log')
30
            ->with($zendLogInt, 'foo');
31
32
        $loggerLevel->expects(static::atLeast(1))
33
            ->method('toInt')
34
            ->willReturn($levelInt);
35
36
        $event->expects(static::atLeast(1))
37
            ->method('getLevel')
38
            ->willReturn($loggerLevel);
39
40
        $event->expects(static::atLeast(1))
41
            ->method('getMessage')
42
            ->willReturn('foo');
43
44
        /* @var Logger $logger */
45
        /* @var \LoggerLoggingEvent $event */
46
47
        $appender = new LogAppender();
48
        $appender->setZendLog($logger);
49
50
        $appender->append($event);
51
    }
52
53
    public function logEventProvider()
54
    {
55
        return [
56
            [\LoggerLevel::FATAL, Logger::CRIT],
57
            [\LoggerLevel::ERROR, Logger::ERR],
58
            [\LoggerLevel::WARN, Logger::WARN],
59
            [\LoggerLevel::INFO, Logger::INFO],
60
            [\LoggerLevel::DEBUG, Logger::DEBUG],
61
            [\LoggerLevel::TRACE, Logger::DEBUG],
62
        ];
63
    }
64
}
65