ActionBuilderTest::testBuildCommand()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
c 0
b 0
f 0
nc 1
nop 0
dl 0
loc 6
rs 10
1
<?php
2
3
namespace Nip\Dispatcher\Tests\Resolver\Pipeline;
4
5
use League\Pipeline\Pipeline;
6
use Modules\Frontend\Controllers\BaseTraitController;
7
use Nip\Dispatcher\Commands\Command;
8
use Nip\Dispatcher\Resolver\Cache\ResolverCache;
9
use Nip\Dispatcher\Resolver\Pipeline\ActionBuilder;
10
use Nip\Dispatcher\Tests\AbstractTest;
11
use Psr\Http\Message\ResponseInterface;
12
13
/**
14
 * Class ActionBuilderTest
15
 * @package Nip\Dispatcher\Tests\Resolver\Pipeline
16
 */
17
class ActionBuilderTest extends AbstractTest
18
{
19
    public function testBuildCommand()
20
    {
21
        $builder = new ActionBuilder();
22
        $pipeline = $builder->build();
23
24
        self::assertInstanceOf(Pipeline::class, $pipeline);
25
    }
26
27
    public function testRequestModuleController()
28
    {
29
        $builder = new ActionBuilder();
30
        $pipeline = $builder->build();
31
32
        $command = new Command();
33
        $command->setAutoInitRequest(true);
34
        $command->getRequest(true)
35
            ->setModuleName('Frontend')
36
            ->setControllerName('BaseTrait');
37
38
        $response = $pipeline->process($command)->getReturn();
39
        self::assertInstanceOf(ResponseInterface::class, $response);
40
        self::assertEquals('index response', $response->getContent());
41
    }
42
43
    public function testGetFromCache()
44
    {
45
        $builder = new ActionBuilder();
46
        $pipeline = $builder->build();
47
48
        $command = new Command();
49
        $command->setAutoInitRequest(true);
50
        $command->getRequest(true)
51
            ->setModuleName('Frontend')
52
            ->setControllerName('BaseFakeTrait');
53
54
        ResolverCache::setFromAction(
55
            ['module' => 'Frontend', 'controller' => 'BaseFakeTrait'],
56
            BaseTraitController::class
57
        );
58
59
        $response = $pipeline->process($command)->getReturn();
60
        self::assertInstanceOf(ResponseInterface::class, $response);
61
        self::assertEquals('index response', $response->getContent());
62
    }
63
}
64