Skip to content

Commit

Permalink
Merge pull request #54 from joaorobertopb/patch-13
Browse files Browse the repository at this point in the history
Improves test coverage
  • Loading branch information
renatomarinho authored Nov 12, 2017
2 parents 569d50b + f0818cf commit 754eef5
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 17 deletions.
3 changes: 2 additions & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@
"require-dev": {
"phpunit/phpunit": "^5.7 || ^6.0",
"orchestra/testbench": "^3.2",
"squizlabs/php_codesniffer": "^2.3"
"squizlabs/php_codesniffer": "^2.3",
"mockery/mockery": "~0.9.4"
},
"autoload": {
"psr-4": {
Expand Down
16 changes: 0 additions & 16 deletions tests/Config/ConfigTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,8 @@
namespace RenatoMarinho\LaravelPageSpeed\Test\Config;

use Illuminate\Http\Request;
use RenatoMarinho\LaravelPageSpeed\Middleware\CollapseWhitespace;
use RenatoMarinho\LaravelPageSpeed\Middleware\TrimUrls;
use RenatoMarinho\LaravelPageSpeed\Test\TestCase;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
use Symfony\Component\HttpFoundation\File\UploadedFile;

class ConfigTest extends TestCase
{
Expand Down Expand Up @@ -82,17 +79,4 @@ public function testNotSkipRouteWithFileExtension()

$this->assertNotEquals($this->html, $response->getContent());
}

public function testSkipBinaryFileResponse()
{
$this->middleware = new CollapseWhitespace();

$request = Request::create('/', 'GET', [], [], ['file' => new UploadedFile(__FILE__, 'foo.php')]);

$response = $this->middleware->handle($request, function ($request) {
return response()->download($request->file);
});

$this->assertInstanceOf(BinaryFileResponse::class, $response);
}
}
40 changes: 40 additions & 0 deletions tests/Middleware/CollapseWhitespaceTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,21 @@
namespace RenatoMarinho\LaravelPageSpeed\Test\Middleware;

use Illuminate\Http\Request;
use Mockery as m;
use RenatoMarinho\LaravelPageSpeed\Middleware\CollapseWhitespace;
use RenatoMarinho\LaravelPageSpeed\Test\TestCase;
use Symfony\Component\HttpFoundation\BinaryFileResponse;
use Symfony\Component\HttpFoundation\File\UploadedFile;

class CollapseWhitespaceTest extends TestCase
{

public function tearDown()
{
parent::tearDown();
m::close();
}

protected function getMiddleware()
{
$this->middleware = new CollapseWhitespace();
Expand All @@ -22,4 +32,34 @@ public function testCollapseWhitespace()

$this->assertSame($compress, trim($partial[0]));
}

public function testSkipBinaryFileResponse()
{
$request = Request::create('/', 'GET', [], [], ['file' => new UploadedFile(__FILE__, 'foo.php')]);

$response = $this->middleware->handle($request, function ($request) {
return response()->download($request->file);
});

$this->assertInstanceOf(BinaryFileResponse::class, $response);
}

public function testExpectLogicExceptionInBinaryFileResponse()
{
$this->expectException('LogicException');

$mock = m::mock(CollapseWhitespace::class)
->shouldAllowMockingProtectedMethods()
->makePartial();

$mock->shouldReceive('shouldProcessPageSpeed')
->once()
->andReturn(true);

$request = Request::create('/', 'GET', [], [], ['file' => new UploadedFile(__FILE__, 'foo.php')]);

$response = $mock->handle($request, function ($request) {
return response()->download($request->file);
});
}
}
2 changes: 2 additions & 0 deletions tests/TestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ abstract class TestCase extends Orchestra
protected $html;
protected $middleware;

abstract protected function getMiddleware();

public function setUp()
{
parent::setUp();
Expand Down

0 comments on commit 754eef5

Please sign in to comment.