Completed
Push — master ( 84107b...f0cb22 )
by Robbie
11s
created

InitStateMiddlewareTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 25
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 25
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testGetIsFrontend() 0 5 1
A isFrontendProvider() 0 10 1
1
<?php
2
3
namespace TractorCow\Fluent\Tests\Middleware;
4
5
use SilverStripe\Dev\SapphireTest;
6
use SilverStripe\Control\HTTPRequest;
7
use TractorCow\Fluent\Middleware\InitStateMiddleware;
8
9
class InitStateMiddlewareTest extends SapphireTest
10
{
11
    /**
12
     * @dataProvider isFrontendProvider
13
     */
14
    public function testGetIsFrontend($url, $expected)
15
    {
16
        $request = new HTTPRequest('GET', $url);
17
        $result = (new InitStateMiddleware)->getIsFrontend($request);
18
        $this->assertSame($expected, $result, 'isFrontend detects whether a request is for the frontend website');
19
    }
20
21
    /**
22
     * @return array[]
23
     */
24
    public function isFrontendProvider()
25
    {
26
        return [
27
            ['admin', false],
28
            ['admin/', false],
29
            ['dev/build', false],
30
            ['graphql', false],
31
            ['/', true],
32
            ['foo', true],
33
            ['my-blog/my-post', true],
34
        ];
35
    }
36
}
37