ModuleConfigTest::testInvoke()   B
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 25
Code Lines 20

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
dl 0
loc 25
rs 8.8571
c 1
b 0
f 1
cc 1
eloc 20
nc 1
nop 0
1
<?php
2
3
namespace ReddogsTest\Doctrine\Migrations;
4
5
use Reddogs\Doctrine\Migrations\ModuleConfig;
6
use Reddogs\Doctrine\Migrations\GenerateCommand;
7
use Reddogs\Doctrine\Migrations\LatestCommand;
8
use Reddogs\Doctrine\Migrations\MigrateCommand;
9
use Reddogs\Doctrine\Migrations\MigrateAllCommand;
10
use Reddogs\Doctrine\Migrations\ExecuteCommand;
11
use Reddogs\Doctrine\Migrations\StatusCommand;
12
use Reddogs\Doctrine\Migrations\CommandFactory;
13
use Reddogs\Doctrine\Migrations\MigrateAllCommandFactory;
14
15
class ModuleConfigTest extends \PHPUnit_Framework_TestCase
16
{
17
    public function testInvoke()
18
    {
19
        $moduleConfig = new ModuleConfig();
20
        $config = $moduleConfig->__invoke();
21
        $this->assertInternalType('array', $config);
22
        $this->assertArrayHasKey('console_routes', $config);
23
        $this->assertArrayHasKey('dependencies', $config);
24
25
        $factories = $config['dependencies']['factories'];
26
27
        $this->assertEquals(CommandFactory::class, $factories[ExecuteCommand::class]);
28
        $this->assertEquals(CommandFactory::class, $factories[GenerateCommand::class]);
29
        $this->assertEquals(CommandFactory::class, $factories[LatestCommand::class]);
30
        $this->assertEquals(CommandFactory::class, $factories[MigrateCommand::class]);
31
        $this->assertEquals(MigrateAllCommandFactory::class, $factories[MigrateAllCommand::class]);
32
        $this->assertEquals(CommandFactory::class, $factories[StatusCommand::class]);
33
34
        $routes = $config['console_routes'];
35
        $this->assertEquals(ExecuteCommand::class, $routes['mogrations:execute']['handler']);
36
        $this->assertEquals(GenerateCommand::class, $routes['mogrations:generate']['handler']);
37
        $this->assertEquals(LatestCommand::class, $routes['mogrations:latest']['handler']);
38
        $this->assertEquals(MigrateCommand::class, $routes['mogrations:migrate']['handler']);
39
        $this->assertEquals(MigrateAllCommand::class, $routes['mogrations:migrate-all']['handler']);
40
        $this->assertEquals(StatusCommand::class, $routes['mogrations:status']['handler']);
41
    }
42
}