serviceIsCreated()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 2
dl 0
loc 13
rs 9.8333
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace AcelayaTest\ExpressiveErrorHandler\ErrorHandler\Factory;
6
7
use Acelaya\ExpressiveErrorHandler\ErrorHandler\Factory\PlainTextResponseGeneratorFactory;
8
use PHPUnit\Framework\TestCase;
9
use ReflectionObject;
10
use Zend\ServiceManager\ServiceManager;
11
use Zend\Stratigility\Middleware\ErrorResponseGenerator;
12
13
class PlainTextResponseGeneratorFactoryTest extends TestCase
14
{
15
    /** @var PlainTextResponseGeneratorFactory */
16
    protected $factory;
17
18
    public function setUp(): void
19
    {
20
        $this->factory = new PlainTextResponseGeneratorFactory();
21
    }
22
23
    /**
24
     * @test
25
     * @dataProvider provideDebugs
26
     */
27
    public function serviceIsCreated(array $config, bool $expectedIsDev): void
28
    {
29
        $instance = $this->factory->__invoke(new ServiceManager(['services' => [
30
            'config' => $config,
31
        ]]));
32
33
        $ref = new ReflectionObject($instance);
34
        $isDev = $ref->getProperty('isDevelopmentMode');
35
        $isDev->setAccessible(true);
36
37
        $this->assertInstanceOf(ErrorResponseGenerator::class, $instance);
38
        $this->assertEquals($expectedIsDev, $isDev->getValue($instance));
39
    }
40
41
    public function provideDebugs(): iterable
42
    {
43
        yield [[], false];
44
        yield [['debug' => true], true];
45
        yield [['debug' => false], false];
46
    }
47
}
48