magento2-docker/dev/tests/integration/testsuite/Magento/Backend/Helper/DataTest.php

151 lines
4.5 KiB
PHP
Executable File

<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Backend\Helper;
/**
* @magentoAppArea adminhtml
* @magentoAppIsolation enabled
* @magentoDbIsolation enabled
*/
class DataTest extends \PHPUnit\Framework\TestCase
{
/**
* @var \Magento\Backend\Helper\Data
*/
protected $_helper;
/**
* @var \Magento\Backend\Model\Auth
*/
protected $_auth;
protected function setUp(): void
{
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
\Magento\Framework\Config\ScopeInterface::class
)->setCurrentScope(
\Magento\Backend\App\Area\FrontNameResolver::AREA_CODE
);
$this->_helper = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
\Magento\Backend\Helper\Data::class
);
}
protected function tearDown(): void
{
$this->_helper = null;
$this->_auth = null;
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
\Magento\Framework\Config\ScopeInterface::class
)->setCurrentScope(
null
);
}
/**
* Performs user login
*/
protected function _login()
{
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
\Magento\Backend\Model\UrlInterface::class
)->turnOffSecretKey();
$this->_auth = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
\Magento\Backend\Model\Auth::class
);
$this->_auth->login(
\Magento\TestFramework\Bootstrap::ADMIN_NAME,
\Magento\TestFramework\Bootstrap::ADMIN_PASSWORD
);
}
/**
* Performs user logout
*/
protected function _logout()
{
$this->_auth->logout();
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
\Magento\Backend\Model\UrlInterface::class
)->turnOnSecretKey();
}
/**
* @covers \Magento\Backend\Helper\Data::getPageHelpUrl
* @covers \Magento\Backend\Helper\Data::setPageHelpUrl
* @covers \Magento\Backend\Helper\Data::addPageHelpUrl
*/
public function testPageHelpUrl()
{
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
\Magento\Framework\App\RequestInterface::class
)->setControllerModule(
'dummy'
)->setControllerName(
'index'
)->setActionName(
'test'
);
$expected = 'http://www.magentocommerce.com/gethelp/en_US/dummy/index/test/';
$this->assertEquals($expected, $this->_helper->getPageHelpUrl(), 'Incorrect help Url');
$this->_helper->addPageHelpUrl('dummy');
$expected .= 'dummy';
$this->assertEquals($expected, $this->_helper->getPageHelpUrl(), 'Incorrect help Url suffix');
}
/**
* @covers \Magento\Backend\Helper\Data::getCurrentUserId
*/
public function testGetCurrentUserId()
{
$this->assertFalse($this->_helper->getCurrentUserId());
/**
* perform login
*/
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
\Magento\Backend\Model\UrlInterface::class
)->turnOffSecretKey();
$auth = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(\Magento\Backend\Model\Auth::class);
$auth->login(\Magento\TestFramework\Bootstrap::ADMIN_NAME, \Magento\TestFramework\Bootstrap::ADMIN_PASSWORD);
$this->assertEquals(1, $this->_helper->getCurrentUserId());
/**
* perform logout
*/
$auth->logout();
\Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get(
\Magento\Backend\Model\UrlInterface::class
)->turnOnSecretKey();
$this->assertFalse($this->_helper->getCurrentUserId());
}
/**
* @covers \Magento\Backend\Helper\Data::prepareFilterString
*/
public function testPrepareFilterString()
{
$expected = ['key1' => 'val1', 'key2' => 'val2', 'key3' => 'val3'];
$filterString = base64_encode('key1=' . rawurlencode('val1') . '&key2=' . rawurlencode('val2') . '&key3=val3');
$actual = $this->_helper->prepareFilterString($filterString);
$this->assertEquals($expected, $actual);
}
public function testGetHomePageUrl()
{
$this->assertStringEndsWith(
'index.php/backend/admin/',
$this->_helper->getHomePageUrl(),
'Incorrect home page URL'
);
}
}