BaseApplicationTest.php 1.3 KB

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