Test Failed
Push — master ( d3e9ef...1b9271 )
by Johannes
04:34
created

SaveContentConfigObserverFactoryTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Importance

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

3 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 7 1
A testContainerHasService() 0 4 1
A testCreateService() 0 7 1
1
<?php
2
/**
3
 * Lichtenwallner  (https://lichtenwallner.at)
4
 *
5
 * @see https://github.com/jolicht/markdown-cms for the canonical source repository
6
 * @license https://github.com/jolicht/markdown-cms/blob/master/LICENSE MIT
7
 * @copyright Copyright (c) Johannes Lichtenwallner
8
 */
9
declare(strict_types = 1);
10
namespace JolichtTest\MarkdownCms\Parser\Observer;
11
12
use Reddogs\Test\ServiceManagerAwareTestCase;
13
use Jolicht\MarkdownCms\ModuleConfig;
14
use Jolicht\MarkdownCms\Parser\Observer\SaveContentConfigObserverFactory;
15
use Jolicht\MarkdownCms\Parser\Observer\SaveContentConfigObserver;
16
use Zend\Config\Writer\PhpArray;
17
18
class SaveContentConfigObserverFactoryTest extends ServiceManagerAwareTestCase
19
{
20
    private $factory;
21
22
    protected function setUp()
23
    {
24
        $this->setConfigProviders([ModuleConfig::class]);
25
        parent::setUp();
26
27
        $this->factory = new SaveContentConfigObserverFactory();
28
    }
29
30
    public function testContainerHasService()
31
    {
32
        $this->assertTrue($this->getContainer()->has(SaveContentConfigObserver::class));
33
    }
34
35
    public function testCreateService()
36
    {
37
        $config = $this->getContainer()->get('config');
38
        $observer = $this->factory->__invoke($this->getContainer(), SaveContentConfigObserver::class);
39
        $this->assertInstanceOf(PhpArray::class, $observer->getConfigWriter());
40
        $this->assertSame($config['markdown_cms']['options']['content_config_path'], $observer->getTargetPath());
41
    }
42
}