MiddlewareTestCase   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 10
dl 0
loc 33
rs 10
c 0
b 0
f 0
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A assertMiddlewareThrows() 0 11 2
A assertMiddlewarePasses() 0 8 2
1
<?php
2
3
namespace Digia\Lumen\GraphQL\Tests;
4
5
use Illuminate\Http\Request;
6
use Illuminate\Http\Response;
7
8
/**
9
 * Class MiddlewareTestCase
10
 * @package Digia\Lumen\GraphQL\Tests
11
 */
12
abstract class MiddlewareTestCase extends TestCase
13
{
14
15
    /**
16
     * @param mixed        $middleware
17
     * @param Request|null $request
18
     */
19
    public function assertMiddlewarePasses($middleware, ?Request $request = null): void
20
    {
21
        if ($request === null) {
22
            $request = new Request();
23
        }
24
25
        $this->assertInstanceOf(Response::class, $middleware->handle($request, function () {
26
            return new Response();
27
        }));
28
    }
29
30
    /**
31
     * @param mixed        $middleware
32
     * @param Request|null $request
33
     */
34
    public function assertMiddlewareThrows($middleware, ?Request $request = null): void
35
    {
36
        if ($request === null) {
37
            $request = new Request();
38
        }
39
40
        $middleware->handle($request, function () {
41
            return new Response();
42
        });
43
44
        $this->fail('Expected middleware to throw an exception, nothing was thrown');
45
    }
46
47
}
48