DataTest.php 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Backend\Helper;
  7. /**
  8. * @magentoAppArea adminhtml
  9. * @magentoAppIsolation enabled
  10. * @magentoDbIsolation enabled
  11. */
  12. class DataTest extends \PHPUnit\Framework\TestCase
  13. {
  14. /**
  15. * @var \Magento\Backend\Helper\Data
  16. */
  17. protected $_helper;
  18. /**
  19. * @var \Magento\Backend\Model\Auth
  20. */
  21. protected $_auth;
  22. protected function setUp()
  23. {
  24. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  25. \Magento\Framework\Config\ScopeInterface::class
  26. )->setCurrentScope(
  27. \Magento\Backend\App\Area\FrontNameResolver::AREA_CODE
  28. );
  29. $this->_helper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  30. \Magento\Backend\Helper\Data::class
  31. );
  32. }
  33. protected function tearDown()
  34. {
  35. $this->_helper = null;
  36. $this->_auth = null;
  37. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  38. \Magento\Framework\Config\ScopeInterface::class
  39. )->setCurrentScope(
  40. null
  41. );
  42. }
  43. /**
  44. * Performs user login
  45. */
  46. protected function _login()
  47. {
  48. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  49. \Magento\Backend\Model\UrlInterface::class
  50. )->turnOffSecretKey();
  51. $this->_auth = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  52. \Magento\Backend\Model\Auth::class
  53. );
  54. $this->_auth->login(
  55. \Magento\TestFramework\Bootstrap::ADMIN_NAME,
  56. \Magento\TestFramework\Bootstrap::ADMIN_PASSWORD
  57. );
  58. }
  59. /**
  60. * Performs user logout
  61. */
  62. protected function _logout()
  63. {
  64. $this->_auth->logout();
  65. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  66. \Magento\Backend\Model\UrlInterface::class
  67. )->turnOnSecretKey();
  68. }
  69. /**
  70. * @covers \Magento\Backend\Helper\Data::getPageHelpUrl
  71. * @covers \Magento\Backend\Helper\Data::setPageHelpUrl
  72. * @covers \Magento\Backend\Helper\Data::addPageHelpUrl
  73. */
  74. public function testPageHelpUrl()
  75. {
  76. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  77. \Magento\Framework\App\RequestInterface::class
  78. )->setControllerModule(
  79. 'dummy'
  80. )->setControllerName(
  81. 'index'
  82. )->setActionName(
  83. 'test'
  84. );
  85. $expected = 'http://www.magentocommerce.com/gethelp/en_US/dummy/index/test/';
  86. $this->assertEquals($expected, $this->_helper->getPageHelpUrl(), 'Incorrect help Url');
  87. $this->_helper->addPageHelpUrl('dummy');
  88. $expected .= 'dummy';
  89. $this->assertEquals($expected, $this->_helper->getPageHelpUrl(), 'Incorrect help Url suffix');
  90. }
  91. /**
  92. * @covers \Magento\Backend\Helper\Data::getCurrentUserId
  93. */
  94. public function testGetCurrentUserId()
  95. {
  96. $this->assertFalse($this->_helper->getCurrentUserId());
  97. /**
  98. * perform login
  99. */
  100. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  101. \Magento\Backend\Model\UrlInterface::class
  102. )->turnOffSecretKey();
  103. $auth = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Backend\Model\Auth::class);
  104. $auth->login(\Magento\TestFramework\Bootstrap::ADMIN_NAME, \Magento\TestFramework\Bootstrap::ADMIN_PASSWORD);
  105. $this->assertEquals(1, $this->_helper->getCurrentUserId());
  106. /**
  107. * perform logout
  108. */
  109. $auth->logout();
  110. \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
  111. \Magento\Backend\Model\UrlInterface::class
  112. )->turnOnSecretKey();
  113. $this->assertFalse($this->_helper->getCurrentUserId());
  114. }
  115. /**
  116. * @covers \Magento\Backend\Helper\Data::prepareFilterString
  117. */
  118. public function testPrepareFilterString()
  119. {
  120. $expected = ['key1' => 'val1', 'key2' => 'val2', 'key3' => 'val3'];
  121. $filterString = base64_encode('key1=' . rawurlencode('val1') . '&key2=' . rawurlencode('val2') . '&key3=val3');
  122. $actual = $this->_helper->prepareFilterString($filterString);
  123. $this->assertEquals($expected, $actual);
  124. }
  125. public function testGetHomePageUrl()
  126. {
  127. $this->assertStringEndsWith(
  128. 'index.php/backend/admin/',
  129. $this->_helper->getHomePageUrl(),
  130. 'Incorrect home page URL'
  131. );
  132. }
  133. }