BaseApplicationTest.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace Cake\Test\TestCase;
  3. use Cake\Http\Response;
  4. use Cake\Http\ServerRequestFactory;
  5. use Cake\TestSuite\TestCase;
  6. /**
  7. * Base application test.
  8. */
  9. class BaseApplicationTest extends TestCase
  10. {
  11. /**
  12. * Setup
  13. *
  14. * @return void
  15. */
  16. public function setUp()
  17. {
  18. parent::setUp();
  19. static::setAppNamespace();
  20. }
  21. /**
  22. * Integration test for a simple controller.
  23. *
  24. * @return void
  25. */
  26. public function testInvoke()
  27. {
  28. $next = function ($req, $res) {
  29. return $res;
  30. };
  31. $response = new Response();
  32. $request = ServerRequestFactory::fromGlobals(['REQUEST_URI' => '/cakes']);
  33. $request = $request->withAttribute('params', [
  34. 'controller' => 'Cakes',
  35. 'action' => 'index',
  36. 'plugin' => null,
  37. 'pass' => []
  38. ]);
  39. $path = dirname(dirname(__DIR__));
  40. $app = $this->getMockForAbstractClass('Cake\Http\BaseApplication', [$path]);
  41. $result = $app($request, $response, $next);
  42. $this->assertInstanceOf('Psr\Http\Message\ResponseInterface', $result);
  43. $this->assertEquals('Hello Jane', '' . $result->getBody());
  44. }
  45. }