magento2-docker/dev/tests/integration/testsuite/Magento/Backend/Controller/Adminhtml/CacheTest.php

93 lines
3.3 KiB
PHP
Executable File

<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Backend\Controller\Adminhtml;
/**
* @magentoAppArea adminhtml
*/
class CacheTest extends \Magento\TestFramework\TestCase\AbstractBackendController
{
/**
* @magentoDataFixture Magento/Backend/controllers/_files/cache/application_cache.php
* @magentoDataFixture Magento/Backend/controllers/_files/cache/non_application_cache.php
*/
public function testFlushAllAction()
{
/** @var $cache \Magento\Framework\App\Cache */
$cache = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
\Magento\Framework\App\Cache::class
);
$this->assertNotEmpty($cache->load('APPLICATION_FIXTURE'));
$this->dispatch('backend/admin/cache/flushAll');
/** @var $cachePool \Magento\Framework\App\Cache\Frontend\Pool */
$this->assertFalse($cache->load('APPLICATION_FIXTURE'));
$cachePool = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
\Magento\Framework\App\Cache\Frontend\Pool::class
);
/** @var $cacheFrontend \Magento\Framework\Cache\FrontendInterface */
foreach ($cachePool as $cacheFrontend) {
$this->assertFalse($cacheFrontend->getBackend()->load('NON_APPLICATION_FIXTURE'));
}
}
/**
* @magentoDataFixture Magento/Backend/controllers/_files/cache/application_cache.php
* @magentoDataFixture Magento/Backend/controllers/_files/cache/non_application_cache.php
*/
public function testFlushSystemAction()
{
$this->dispatch('backend/admin/cache/flushSystem');
/** @var $cache \Magento\Framework\App\Cache */
$cache = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
\Magento\Framework\App\Cache::class
);
/** @var $cachePool \Magento\Framework\App\Cache\Frontend\Pool */
$this->assertFalse($cache->load('APPLICATION_FIXTURE'));
$cachePool = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
\Magento\Framework\App\Cache\Frontend\Pool::class
);
/** @var $cacheFrontend \Magento\Framework\Cache\FrontendInterface */
foreach ($cachePool as $cacheFrontend) {
$this->assertSame(
'non-application cache data',
$cacheFrontend->getBackend()->load('NON_APPLICATION_FIXTURE')
);
}
}
/**
* @dataProvider massActionsInvalidTypesDataProvider
* @param $action
*/
public function testMassActionsInvalidTypes($action)
{
$this->getRequest()->setParams(['types' => ['invalid_type_1', 'invalid_type_2', 'config']]);
$this->dispatch('backend/admin/cache/' . $action);
$this->assertSessionMessages(
$this->containsEqual("These cache type(s) don&#039;t exist: invalid_type_1, invalid_type_2"),
\Magento\Framework\Message\MessageInterface::TYPE_ERROR
);
}
/**
* @return array
*/
public function massActionsInvalidTypesDataProvider()
{
return [
'enable' => ['massEnable'],
'disable' => ['massDisable'],
'refresh' => ['massRefresh']
];
}
}