1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Catalog;
class WidgetTest extends \PHPUnit\Framework\TestCase
{
public function testNewProductsWidget()
{
$type = \Magento\Catalog\Block\Product\Widget\NewWidget::class;
/** @var $model \Magento\Widget\Model\Widget\Instance */
$model = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
\Magento\Widget\Model\Widget\Instance::class
);
$config = $model->setType($type)->getWidgetConfigAsArray();
$templates = $config['parameters']['template']['values'];
$this->assertArrayHasKey('default', $templates);
$this->assertArrayHasKey('list', $templates);
$this->assertArrayHasKey('list_default', $templates);
$this->assertArrayHasKey('list_names', $templates);
$this->assertArrayHasKey('list_images', $templates);
$blocks = $config['supported_containers'];
$containers = [];
foreach ($blocks as $block) {
$containers[] = $block['container_name'];
}
$this->assertContains('sidebar.main', $containers);
$this->assertContains('content', $containers);
$this->assertContains('sidebar.additional', $containers);
// Verify that the correct id (code) is found for this widget instance type.
$code = $model->setType($type)->getWidgetReference('type', $type, 'code');
$this->assertEquals('new_products', $code);
}
}