ErrorHandlerMiddlewareTest.php 1.3 KB

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