Skip to content

Commit f171f53

Browse files
author
Bohdan Korablov
committed
MAGETWO-34559: Impossible to insert a widget as a content for a banner
1 parent 43b8049 commit f171f53

File tree

1 file changed

+40
-18
lines changed
  • lib/internal/Magento/Framework/Data/Test/Unit/Form/Element

1 file changed

+40
-18
lines changed

lib/internal/Magento/Framework/Data/Test/Unit/Form/Element/EditorTest.php

Lines changed: 40 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ class EditorTest extends \PHPUnit_Framework_TestCase
3838
*/
3939
protected $formMock;
4040

41+
/**
42+
* @var \Magento\Framework\Object|\PHPUnit_Framework_MockObject_MockObject
43+
*/
44+
protected $configMock;
45+
4146
protected function setUp()
4247
{
4348
$this->factoryMock = $this->getMock('\Magento\Framework\Data\Form\Element\Factory', [], [], '', false);
@@ -49,17 +54,23 @@ protected function setUp()
4954
false
5055
);
5156
$this->escaperMock = $this->getMock('\Magento\Framework\Escaper', [], [], '', false);
57+
$this->configMock = $this->getMock('\Magento\Framework\Object', ['getData'], [], '', false);
5258

5359
$this->model = new Editor(
5460
$this->factoryMock,
5561
$this->collectionFactoryMock,
56-
$this->escaperMock
62+
$this->escaperMock,
63+
['config' => $this->configMock]
5764
);
5865

59-
$this->formMock = new \Magento\Framework\Object();
60-
$this->formMock->getHtmlIdPrefix('id_prefix');
61-
$this->formMock->getHtmlIdPrefix('id_suffix');
62-
66+
$this->formMock = $this->getMock(
67+
'Magento\Framework\Data\Form',
68+
['getHtmlIdPrefix', 'getHtmlIdSuffix'],
69+
[],
70+
'',
71+
false,
72+
false
73+
);
6374
$this->model->setForm($this->formMock);
6475
}
6576

@@ -70,15 +81,14 @@ public function testConstruct()
7081
$this->assertEquals(Editor::DEFAULT_ROWS, $this->model->getRows());
7182
$this->assertEquals(Editor::DEFAULT_COLS, $this->model->getCols());
7283

73-
$config = new \Magento\Framework\Object();
74-
$config->setData('enabled', true);
84+
$this->configMock->expects($this->once())->method('getData')->with('enabled')->willReturn(true);
85+
7586
$model = new Editor(
7687
$this->factoryMock,
7788
$this->collectionFactoryMock,
7889
$this->escaperMock,
79-
['config' => $config]
90+
['config' => $this->configMock]
8091
);
81-
$model->setForm($this->formMock);
8292

8393
$this->assertEquals('wysiwyg', $model->getType());
8494
$this->assertEquals('wysiwyg', $model->getExtType());
@@ -93,13 +103,25 @@ public function testGetElementHtml()
93103
$this->assertRegExp('/class=\".*textarea.*\"/i', $html);
94104
$this->assertNotRegExp('/.*mage\/adminhtml\/wysiwyg\/widget.*/i', $html);
95105

96-
$this->model->getConfig()->setData('enabled', true);
106+
$this->configMock->expects($this->any())->method('getData')
107+
->willReturnMap(
108+
[
109+
['enabled', null, true],
110+
['hidden', null, null]
111+
]
112+
);
97113
$html = $this->model->getElementHtml();
98114
$this->assertRegExp('/.*mage\/adminhtml\/wysiwyg\/widget.*/i', $html);
99115

100-
$this->model->getConfig()->setData('widget_window_url', 'localhost');
101-
$this->model->getConfig()->unsetData('enabled');
102-
$this->model->getConfig()->setData('add_widgets', true);
116+
$this->configMock->expects($this->any())->method('getData')
117+
->willReturnMap(
118+
[
119+
['enabled', null, null],
120+
['widget_window_url', null, 'localhost'],
121+
['add_widgets', null, true],
122+
['hidden', null, null]
123+
]
124+
);
103125
$html = $this->model->getElementHtml();
104126
$this->assertRegExp('/.*mage\/adminhtml\/wysiwyg\/widget.*/i', $html);
105127
}
@@ -112,15 +134,15 @@ public function testIsEnabled()
112134
$this->assertTrue($this->model->isEnabled());
113135

114136
$this->model->unsetData('wysiwyg');
115-
$this->model->getConfig()->setData('enabled', true);
137+
$this->configMock->expects($this->once())->method('getData')->with('enabled')->willReturn(true);
116138
$this->assertTrue($this->model->isEnabled());
117139
}
118140

119141
public function testIsHidden()
120142
{
121143
$this->assertEmpty($this->model->isHidden());
122144

123-
$this->model->getConfig()->setData('hidden', true);
145+
$this->configMock->expects($this->once())->method('getData')->with('hidden')->willReturn(true);
124146
$this->assertTrue($this->model->isHidden());
125147
}
126148

@@ -131,10 +153,10 @@ public function testTranslate()
131153

132154
public function testGetConfig()
133155
{
134-
$config = new \Magento\Framework\Object();
156+
$config = $this->getMock('\Magento\Framework\Object', ['getData'], [], '', false);
135157
$this->assertEquals($config, $this->model->getConfig());
136158

137-
$this->model->getConfig()->setData('test', 'test');
159+
$this->configMock->expects($this->once())->method('getData')->with('test')->willReturn('test');
138160
$this->assertEquals('test', $this->model->getConfig('test'));
139161
}
140162

@@ -143,7 +165,7 @@ public function testGetConfig()
143165
*/
144166
public function testGetTranslatedString()
145167
{
146-
$this->model->getConfig()->setData('enabled', true);
168+
$this->configMock->expects($this->any())->method('getData')->withConsecutive(['enabled'])->willReturn(true);
147169
$html = $this->model->getElementHtml();
148170
$this->assertRegExp('/.*"Insert Image...":"Insert Image...".*/i', $html);
149171
}

0 commit comments

Comments
 (0)