ErrorHandlerMiddlewareTest.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace Tools\Test\TestCase\Error\Middleware;
  3. use Cake\Core\Configure;
  4. use Cake\Http\ServerRequest;
  5. use Cake\Network\Exception\NotFoundException;
  6. use Tools\Error\Middleware\ErrorHandlerMiddleware;
  7. use Tools\TestSuite\TestCase;
  8. use Tools\TestSuite\ToolsTestTrait;
  9. class ErrorHandlerMiddlewareTest extends TestCase {
  10. use ToolsTestTrait;
  11. /**
  12. * @var \Tools\Error\Middleware\ErrorHandlerMiddleware
  13. */
  14. protected $errorHandlerMiddleware;
  15. /**
  16. * @return void
  17. */
  18. public function setUp() {
  19. parent::setUp();
  20. Configure::write('App.fullBaseUrl', 'http://foo.bar');
  21. $this->errorHandlerMiddleware = new ErrorHandlerMiddleware();
  22. }
  23. /**
  24. * @return void
  25. */
  26. public function tearDown() {
  27. parent::tearDown();
  28. unset($this->errorHandlerMiddleware);
  29. Configure::delete('App.fullBaseUrl');
  30. }
  31. /**
  32. * @return void
  33. */
  34. public function test404() {
  35. $parameters = [
  36. new NotFoundException(),
  37. new ServerRequest(),
  38. ];
  39. $result = $this->invokeMethod($this->errorHandlerMiddleware, 'is404', $parameters);
  40. $this->assertTrue($result);
  41. $request = new ServerRequest(['url' => 'http://foo.bar', 'environment' => ['HTTP_REFERER' => 'http://foo.bar/baz']]);
  42. $parameters = [
  43. new NotFoundException(),
  44. $request,
  45. ];
  46. $result = $this->invokeMethod($this->errorHandlerMiddleware, 'is404', $parameters);
  47. $this->assertFalse($result);
  48. }
  49. }