Passed
Push — master ( 8f50d0...6b8118 )
by Darío
01:40
created

ControllerTest   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 11
dl 0
loc 30
rs 10
c 0
b 0
f 0
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A testInstantiationAndMethodExecution() 0 23 1
1
<?php
2
/**
3
 * DronePHP (http://www.dronephp.com)
4
 *
5
 * @link      http://github.com/Pleets/DronePHP
6
 * @copyright Copyright (c) 2016-2018 Pleets. (http://www.pleets.org)
7
 * @license   http://www.dronephp.com/license
8
 * @author    Darío Rivera <[email protected]>
9
 */
10
11
namespace DroneTest\Util;
12
13
use Drone\Mvc\AbstractController;
14
use PHPUnit\Framework\TestCase;
15
16
class ControllerTest extends TestCase
17
{
18
    /**
19
     * Tests controller execution
20
     *
21
     * @return null
22
     */
23
    public function testInstantiationAndMethodExecution()
24
    {
25
        /*
26
         * Explicit method execution
27
         */
28
29
        $ctrl = new \App\Controller\Home;
30
        $params = $ctrl->about();
31
32
        $expected = ["greeting" => "Hello World!"];
33
        $this->assertSame($expected, $params);
34
35
        /*
36
         * Implicit method execution
37
         */
38
39
        $ctrl = new \App\Controller\Home;
40
        $ctrl->setMethod('about');
41
        $ctrl->execute();
42
        $params = $ctrl->getParams();
43
44
        $expected = ["greeting" => "Hello World!"];
45
        $this->assertSame($expected, $params);
46
    }
47
}
48
49
/*
50
|--------------------------------------------------------------------------
51
| Controller class
52
|--------------------------------------------------------------------------
53
|
54
| This is a simple controller implementing AbstractController.
55
|
56
*/
57
58
namespace App\Controller;
59
60
use Drone\Mvc\AbstractController;
61
62
class Home extends AbstractController
63
{
64
    public function about()
65
    {
66
        return ["greeting" => "Hello World!"];
67
    }
68
}