RouterTest.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Cms\Controller;
  7. /**
  8. * @SuppressWarnings(PHPMD.CouplingBetweenObjects)
  9. */
  10. class RouterTest extends \PHPUnit\Framework\TestCase
  11. {
  12. /**
  13. * @var \Magento\Cms\Controller\Router
  14. */
  15. protected $_model;
  16. protected function setUp()
  17. {
  18. $this->markTestIncomplete('MAGETWO-3393');
  19. $this->_model = new \Magento\Cms\Controller\Router(
  20. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  21. \Magento\Framework\App\ActionFactory::class
  22. ),
  23. new \Magento\Framework\Event\ManagerInterfaceStub(
  24. $this->getMockForAbstractClass(\Magento\Framework\Event\InvokerInterface::class),
  25. $this->createMock(\Magento\Framework\Event\Config::class),
  26. $this->createMock(\Magento\Framework\EventFactory::class),
  27. $this->createMock(\Magento\Framework\Event\ObserverFactory::class)
  28. ),
  29. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(\Magento\Framework\UrlInterface::class),
  30. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(\Magento\Cms\Model\PageFactory::class),
  31. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  32. \Magento\Store\Model\StoreManagerInterface::class
  33. ),
  34. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  35. \Magento\Store\Model\StoreManagerInterface::class
  36. )
  37. );
  38. }
  39. /**
  40. * @magentoAppIsolation enabled
  41. */
  42. public function testMatch()
  43. {
  44. $this->markTestIncomplete('MAGETWO-3393');
  45. $request = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()
  46. ->create(\Magento\Framework\App\RequestInterface::class);
  47. //Open Node
  48. $request->setPathInfo('parent_node');
  49. $controller = $this->_model->match($request);
  50. $this->assertInstanceOf(\Magento\Framework\App\Action\Redirect::class, $controller);
  51. }
  52. }
  53. /**
  54. * Event manager stub
  55. * @codingStandardsIgnoreStart
  56. */
  57. namespace Magento\Framework\Event;
  58. class ManagerStub extends Manager
  59. {
  60. /**
  61. * Stub dispatch event
  62. *
  63. * @param string $eventName
  64. * @param array $params
  65. * @return null
  66. */
  67. public function dispatch($eventName, array $params = [])
  68. {
  69. switch ($eventName) {
  70. case 'cms_controller_router_match_before':
  71. $params['condition']->setRedirectUrl('http://www.example.com/');
  72. break;
  73. }
  74. return null;
  75. }
  76. }