PageTest.php 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Cms\Helper;
  7. use Magento\Customer\Model\Context;
  8. /**
  9. * @magentoAppArea frontend
  10. */
  11. class PageTest extends \PHPUnit\Framework\TestCase
  12. {
  13. /**
  14. * @magentoAppIsolation enabled
  15. * @magentoDataFixture Magento/Cms/_files/pages.php
  16. */
  17. public function testRenderPage()
  18. {
  19. /** @var $objectManager \Magento\TestFramework\ObjectManager */
  20. $objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  21. $httpContext = $objectManager->get(\Magento\Framework\App\Http\Context::class);
  22. $httpContext->setValue(Context::CONTEXT_AUTH, false, false);
  23. $objectManager->get(\Magento\Framework\App\State::class)->setAreaCode('frontend');
  24. $arguments = [
  25. 'request' => $objectManager->get(\Magento\TestFramework\Request::class),
  26. 'response' => $objectManager->get(\Magento\TestFramework\Response::class),
  27. ];
  28. $context = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
  29. \Magento\Framework\App\Action\Context::class,
  30. $arguments
  31. );
  32. $page = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(\Magento\Cms\Model\Page::class);
  33. $page->load('page_design_blank', 'identifier');
  34. // fixture
  35. /** @var $pageHelper \Magento\Cms\Helper\Page */
  36. $pageHelper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(\Magento\Cms\Helper\Page::class);
  37. $result = $pageHelper->prepareResultPage(
  38. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
  39. \Magento\Framework\App\Test\Unit\Action\Stub\ActionStub::class,
  40. ['context' => $context]
  41. ),
  42. $page->getId()
  43. );
  44. $design = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  45. \Magento\Framework\View\DesignInterface::class
  46. );
  47. $this->assertEquals('Magento/blank', $design->getDesignTheme()->getThemePath());
  48. $this->assertInstanceOf(\Magento\Framework\View\Result\Page::class, $result);
  49. }
  50. }