WidgetTest.php 1.5 KB

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