Completed
Push — master ( 21ef4f...df9e52 )
by Alex
04:31
created

ControllerUnitTest::testSetControllerName()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 10
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 10
rs 10
1
<?php
2
3
/**
4
 * Controller class for testing purposes
5
 *
6
 * @author Dodonov A.A.
7
 */
8
class TestingController extends \Mezon\Application\Controller
0 ignored issues
show
Deprecated Code introduced by
The class Mezon\Application\Controller has been deprecated: since 2020-06-26 ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-deprecated  annotation

8
class TestingController extends /** @scrutinizer ignore-deprecated */ \Mezon\Application\Controller
Loading history...
9
{
10
11
    public function controllerTest(): string
12
    {
13
        return 'computed content';
14
    }
15
16
    public function controllerTest2(): string
17
    {
18
        return 'computed content 2';
19
    }
20
}
21
22
class ControllerUnitTest extends \PHPUnit\Framework\TestCase
23
{
24
25
    /**
26
     * Testing constructor
27
     */
28
    public function testConstructor(): void
29
    {
30
        // setupp
31
        $controller = new TestingController('Test');
32
33
        $this->assertEquals('Test', $controller->getControllerName(), 'Invalid constructor call');
34
    }
35
36
    /**
37
     * Testing render
38
     */
39
    public function testRender(): void
40
    {
41
        // setupp
42
        $controller = new TestingController('Test');
43
44
        $this->assertEquals('computed content', $controller->run(), 'Invalid controller execution');
45
        $this->assertEquals('computed content 2', $controller->run('test2'), 'Invalid controller execution');
46
    }
47
48
    /**
49
     * Testing default controller
50
     */
51
    public function testDefault(): void
52
    {
53
        // setupp
54
        $controller = new TestingController();
55
56
        // assertionss
57
        $this->expectExceptionMessage('Controller Default was not found');
58
59
        // test bodyy
60
        $controller->run();
61
    }
62
63
    /**
64
     * Method tests buildRoute
65
     */
66
    public function testBuildRoute(): void
67
    {
68
        // setup
69
        $controller = new TestingController();
70
71
        // test body
72
        $route = $controller->buildRoute('/test/', 'POST', 'controllerTest');
73
74
        // assertions
75
        $this->assertEquals('/test/', $route['route']);
76
        $this->assertEquals('POST', $route['method']);
77
        $this->assertInstanceOf(TestingController::class, $route['callback'][0]);
78
        $this->assertEquals('controllerTest', $route['callback'][1]);
79
    }
80
81
    /**
82
     * Testing method setControllerName
83
     */
84
    public function testSetControllerName(): void
85
    {
86
        // setup
87
        $controller = new TestingController();
88
89
        // test body
90
        $controller->setControllerName('SomeName');
91
92
        // assertions
93
        $this->assertEquals('SomeName', $controller->getControllerName());
94
    }
95
}
96