Skip to content

Commit 5c887ea

Browse files
committed
MC-15448: One can't download or delete export csv file from export index page grid
1 parent 6e61caf commit 5c887ea

File tree

1 file changed

+30
-20
lines changed
  • dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/Export/File

1 file changed

+30
-20
lines changed

dev/tests/integration/testsuite/Magento/ImportExport/Controller/Adminhtml/Export/File/DeleteTest.php

Lines changed: 30 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,22 +8,19 @@
88
namespace Magento\ImportExport\Controller\Adminhtml\Export\File;
99

1010
use Magento\Framework\App\Filesystem\DirectoryList;
11+
use Magento\Framework\Data\Form\FormKey;
1112
use Magento\Framework\Filesystem;
12-
use Magento\ImportExport\Controller\Adminhtml\Export\File\Delete;
13+
use Magento\Framework\Filesystem\Directory\WriteInterface;
1314
use Magento\TestFramework\Helper\Bootstrap;
15+
use Magento\TestFramework\TestCase\AbstractBackendController;
1416

1517
/**
1618
* Test for \Magento\ImportExport\Controller\Adminhtml\Export\File\Delete class.
1719
*/
18-
class DeleteTest extends \PHPUnit\Framework\TestCase
20+
class DeleteTest extends AbstractBackendController
1921
{
2022
/**
21-
* @var Delete
22-
*/
23-
private $model;
24-
25-
/**
26-
* @var \Magento\Framework\Filesystem\Directory\WriteInterface
23+
* @var WriteInterface
2724
*/
2825
private $varDirectory;
2926

@@ -42,49 +39,62 @@ class DeleteTest extends \PHPUnit\Framework\TestCase
4239
*/
4340
private $filesystem;
4441

45-
/**
46-
* @var \Magento\Framework\ObjectManagerInterface
47-
*/
48-
private $objectManager;
49-
5042
/**
5143
* @inheritdoc
5244
*/
5345
protected function setUp()
5446
{
55-
$this->objectManager = Bootstrap::getObjectManager();
56-
$this->filesystem = $this->objectManager->get(Filesystem::class);
47+
parent::setUp();
48+
49+
$this->filesystem = $this->_objectManager->get(Filesystem::class);
5750
$this->varDirectory = $this->filesystem->getDirectoryWrite(DirectoryList::VAR_DIR);
5851
$this->varDirectory->create($this->varDirectory->getRelativePath('export'));
5952
$this->fullDirectoryPath = $this->varDirectory->getAbsolutePath('export');
6053
$filePath = $this->fullDirectoryPath . DIRECTORY_SEPARATOR . $this->fileName;
6154
$fixtureDir = realpath(__DIR__ . '/../../Import/_files');
6255
copy($fixtureDir . '/' . $this->fileName, $filePath);
63-
$this->model = $this->objectManager->get(Delete::class);
6456
}
6557

6658
/**
6759
* Check that file can be removed under var/export directory.
6860
*
6961
* @return void
7062
*/
71-
public function testExecute()
63+
public function testExecute(): void
7264
{
73-
$this->model->getRequest()->setMethod('GET')->setParams(['filename' => 'catalog_product.csv']);
74-
$this->model->execute();
65+
$uri = 'backend/admin/export_file/delete/filename/' . $this->fileName;
66+
$this->prepareRequest($uri);
67+
$this->dispatch($uri);
7568

7669
$this->assertFalse(
7770
$this->varDirectory->isExist($this->varDirectory->getRelativePath('export/' . $this->fileName))
7871
);
7972
}
8073

74+
/**
75+
* Prepares GET request for file deletion.
76+
*
77+
* @param string $uri
78+
* @return void
79+
*/
80+
private function prepareRequest(string $uri): void
81+
{
82+
/** @var FormKey $formKey */
83+
$formKey = $this->_objectManager->get(FormKey::class);
84+
$request = $this->getRequest();
85+
$request->setMethod('GET');
86+
$request->setParam('form_key', $formKey->getFormKey());
87+
$request->setRequestUri($uri);
88+
$request->setParams(['filename' => 'catalog_product.csv']);
89+
}
90+
8191
/**
8292
* @inheritdoc
8393
*/
8494
public static function tearDownAfterClass()
8595
{
8696
$filesystem = Bootstrap::getObjectManager()->get(Filesystem::class);
87-
/** @var \Magento\Framework\Filesystem\Directory\WriteInterface $directory */
97+
/** @var WriteInterface $directory */
8898
$directory = $filesystem->getDirectoryWrite(DirectoryList::VAR_DIR);
8999
if ($directory->isExist('export')) {
90100
$directory->delete('export');

0 commit comments

Comments
 (0)