BaseApplicationTest.php 1.2 KB

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