Passed
Push — master ( fe2283...888c58 )
by Maksim
03:11
created

validateAssetsAccessMiddleware()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 5
dl 0
loc 7
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Orchestra\Testbench\BrowserKit\Tests;
4
5
use Barryvdh\Debugbar\ServiceProvider;
6
use MaksimM\ConditionalDebugBar\ConditionalDebugBarServiceProvider;
7
use MaksimM\ConditionalDebugBar\Http\Middleware\OptionalDebugBar;
8
use Orchestra\Testbench\BrowserKit\TestCase;
9
10
class UnbootedDebugBarRouteTest extends TestCase
11
{
12
13
    private $blank_page = "<html xmlns=\"http://www.w3.org/1999/html\"><head></head><body</body</html>";
14
15
    /** @test */
16
    public function validateCleanPage()
17
    {
18
        $crawler = $this->call('GET', 'sample-page');
19
        $this->assertEquals($this->blank_page, $crawler->getContent());
20
    }
21
22
    /** @test */
23
    public function validateAssetsAccessMiddleware()
24
    {
25
        $this->validatePageWithMiddleware();
26
        $crawler = $this->call('GET', route('debugbar.assets.js'));
27
        $this->assertEquals(404, $crawler->getStatusCode());
28
        $crawler = $this->call('GET', route('debugbar.assets.css'));
29
        $this->assertEquals(404, $crawler->getStatusCode());
30
    }
31
32
    /** @test */
33
    public function validatePageWithMiddleware()
34
    {
35
        $crawler = $this->call('GET', 'page-with-middleware');
36
        $this->assertEquals($this->blank_page, $crawler->getContent());
37
    }
38
39
    protected function getPackageProviders($app)
0 ignored issues
show
Unused Code introduced by
The parameter $app is not used and could be removed. ( Ignorable by Annotation )

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

39
    protected function getPackageProviders(/** @scrutinizer ignore-unused */ $app)

This check looks for parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
40
    {
41
        return [ServiceProvider::class, ConditionalDebugBarServiceProvider::class];
42
    }
43
44
    /**
45
     * Define environment setup.
46
     *
47
     * @param  Illuminate\Foundation\Application $app
0 ignored issues
show
Bug introduced by
The type Orchestra\Testbench\Brow...\Foundation\Application was not found. Did you mean Illuminate\Foundation\Application? If so, make sure to prefix the type with \.
Loading history...
48
     *
49
     * @return void
50
     */
51
    protected function getEnvironmentSetUp($app)
52
    {
53
        $app['session']->flush();
54
        $app['router']->get('sample-page', ['uses' => function () {
55
            return $this->blank_page;
56
        }]);
57
        $app['router']->get('page-with-middleware', ['uses' => function () {
58
            return $this->blank_page;
59
        }])->middleware(OptionalDebugBar::class);
60
    }
61
62
}