Skip to content

Commit 3347b6f

Browse files
committed
ACP2E-1751 : Restoring a DB backup fails in the admin
- Test coverage added
1 parent acfabe3 commit 3347b6f

File tree

1 file changed

+99
-0
lines changed
  • dev/tests/integration/testsuite/Magento/Backend/Block/Widget/Grid/Column/Renderer

1 file changed

+99
-0
lines changed
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
namespace Magento\Backend\Block\Widget\Grid\Column\Renderer;
7+
8+
use Magento\Backend\Block\Widget\Grid\Column;
9+
use Magento\Framework\DataObject;
10+
use Magento\Framework\Phrase;
11+
use Magento\Framework\Phrase\RendererInterface;
12+
use Magento\TestFramework\Helper\Bootstrap;
13+
use Magento\TestFramework\ObjectManager;
14+
15+
class ActionTest extends \PHPUnit\Framework\TestCase
16+
{
17+
/**
18+
* @var ObjectManager
19+
*/
20+
private $objectManager;
21+
22+
/**
23+
* @var RendererInterface
24+
*/
25+
private $origRenderer;
26+
27+
protected function setUp(): void
28+
{
29+
$this->objectManager = Bootstrap::getObjectManager();
30+
$this->origRenderer = Phrase::getRenderer();
31+
/** @var RendererInterface|PHPUnit\Framework\MockObject_MockObject $rendererMock */
32+
$rendererMock = $this->getMockForAbstractClass(RendererInterface::class);
33+
$rendererMock->expects($this->any())
34+
->method('render')
35+
->willReturnCallback(
36+
function ($input) {
37+
return end($input) . ' translated';
38+
}
39+
);
40+
Phrase::setRenderer($rendererMock);
41+
}
42+
43+
protected function tearDown(): void
44+
{
45+
Phrase::setRenderer($this->origRenderer);
46+
}
47+
48+
/**
49+
* @param array $columnData
50+
* @param array $rowData
51+
* @param string $expected
52+
* @dataProvider renderDataProvider
53+
*/
54+
public function testRender($columnData, $rowData, $expected)
55+
{
56+
/** @var Text $renderer */
57+
$renderer = $this->objectManager->create(Action::class);
58+
/** @var Column $column */
59+
$column = $this->objectManager->create(
60+
Column::class,
61+
[
62+
'data' => $columnData
63+
]
64+
);
65+
/** @var DataObject $row */
66+
$row = $this->objectManager->create(
67+
DataObject::class,
68+
[
69+
'data' => $rowData
70+
]
71+
);
72+
$this->assertStringContainsString(
73+
$expected,
74+
$renderer->setColumn($column)->render($row)
75+
);
76+
}
77+
78+
/**
79+
* @return array
80+
*/
81+
public function renderDataProvider(): array
82+
{
83+
return [
84+
[
85+
[
86+
'index' => 'type',
87+
'type' => 'action',
88+
'actions' => [
89+
'rollback_action'=> [
90+
'caption' => 'Rollback', 'href'=>'#', 'onclick' => 'alert("test")'
91+
]
92+
]
93+
],
94+
[],
95+
'alert("test")'
96+
],
97+
];
98+
}
99+
}

0 commit comments

Comments
 (0)