Passed
Push — master ( 7c6fc7...70457d )
by Maksim
02:54
created

BootedAlreadyEnabledDebugBarRouteTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Importance

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

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getEnvironmentSetUp() 0 9 1
A getPackageProviders() 0 3 1
A validateAssets() 0 7 1
A validatePage() 0 5 1
1
<?php
2
3
namespace Orchestra\Testbench\BrowserKit\Tests;
4
5
use Barryvdh\Debugbar\ServiceProvider;
6
use MaksimM\ConditionalDebugBar\ConditionalDebugBarServiceProvider;
7
use MaksimM\ConditionalDebugBar\DebugModeBootValidators\TestingDebugBarBootValidator;
8
use MaksimM\ConditionalDebugBar\Http\Middleware\OptionalDebugBar;
9
use Orchestra\Testbench\BrowserKit\TestCase;
10
11
class BootedAlreadyEnabledDebugBarRouteTest extends TestCase
12
{
13
    private $blank_page = '<html xmlns="http://www.w3.org/1999/html"><head></head><body</body</html>';
14
15
    /** @test */
16
    public function validateAssets()
17
    {
18
        $this->validatePage();
19
        $crawler = $this->call('GET', route('debugbar.assets.js'));
20
        $this->assertEquals(200, $crawler->getStatusCode());
21
        $crawler = $this->call('GET', route('debugbar.assets.css'));
22
        $this->assertEquals(200, $crawler->getStatusCode());
23
    }
24
25
    /** @test */
26
    public function validatePage()
27
    {
28
        $crawler = $this->call('GET', 'page-with-middleware');
29
        $this->assertNotEquals($this->blank_page, $crawler->getContent());
30
        $this->assertContains('PhpDebugBar.DebugBar', $crawler->getContent());
31
    }
32
33
    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

33
    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...
34
    {
35
        return [ServiceProvider::class, ConditionalDebugBarServiceProvider::class];
36
    }
37
38
    /**
39
     * Define environment setup.
40
     *
41
     * @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...
42
     *
43
     * @return void
44
     */
45
    protected function getEnvironmentSetUp($app)
46
    {
47
        $app['config']->set('conditional-debugbar.debugbar-boot-validator', TestingDebugBarBootValidator::class);
48
        $app['config']->set('debugbar.enabled', true);
49
        $app['config']->set('app.debug', true);
50
        resolve(\Barryvdh\Debugbar\LaravelDebugbar::class)->enable();
51
        $app['router']->get('page-with-middleware', ['uses' => function () {
52
            return $this->blank_page;
53
        }])->middleware(OptionalDebugBar::class);
54
    }
55
}
56