Completed
Push — master ( 00cc1c...3873f0 )
by Alex
01:35
created

MiddlewareUnitTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
eloc 13
c 1
b 0
f 1
dl 0
loc 41
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 3 1
A testMiddleware() 0 24 1
1
<?php
2
namespace Mezon\Router\Tests;
3
4
use PHPUnit\Framework\TestCase;
5
use Mezon\Router\Router;
6
7
class MiddlewareUnitTest extends TestCase
8
{
9
10
    /**
11
     * Default setup
12
     *
13
     * {@inheritdoc}
14
     * @see \PHPUnit\Framework\TestCase::setUp()
15
     */
16
    public function setUp(): void
17
    {
18
        $_SERVER['REQUEST_METHOD'] = 'GET';
19
    }
20
21
    /**
22
     * Testing middleware
23
     */
24
    public function testMiddleware(): void
25
    {
26
        // setup
27
        $route = '/route-with-middleware/';
28
        $router = new Router();
29
        $router->addRoute($route, function (int $i, int $j) {
30
            return [
31
                $i,
32
                $j
33
            ];
34
        });
35
        $router->registerMiddleware($route, function () {
36
            return [
37
                1,
38
                2
39
            ];
40
        });
41
42
        // test body
43
        $result = $router->callRoute($route);
44
45
        // assertions
46
        $this->assertEquals(1, $result[0]);
47
        $this->assertEquals(2, $result[1]);
48
    }
49
}
50