ConfigTest.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. /**
  7. * Test design config indexer model
  8. */
  9. namespace Magento\Theme\Test\Unit\Model\Indexer\Design;
  10. use Magento\Theme\Model\Indexer\Design\Config;
  11. class ConfigTest extends \PHPUnit\Framework\TestCase
  12. {
  13. /** @var Config */
  14. protected $model;
  15. protected function setUp()
  16. {
  17. $indexerStructure = $this->getMockBuilder(\Magento\Framework\Indexer\IndexStructureInterface::class)
  18. ->getMockForAbstractClass();
  19. $structureFactory = $this->getMockBuilder(\Magento\Framework\Indexer\StructureFactory::class)
  20. ->disableOriginalConstructor()
  21. ->getMock();
  22. $structureFactory->expects($this->any())
  23. ->method('create')
  24. ->willReturn($indexerStructure);
  25. $indexer = $this->getMockBuilder(\Magento\Framework\Indexer\SaveHandler\IndexerInterface::class)
  26. ->getMockForAbstractClass();
  27. $saveHandlerFactory = $this->getMockBuilder(\Magento\Framework\Indexer\SaveHandlerFactory::class)
  28. ->disableOriginalConstructor()
  29. ->getMock();
  30. $saveHandlerFactory->expects($this->any())
  31. ->method('create')
  32. ->willReturn($indexer);
  33. $indexerFieldset = $this->getMockBuilder(\Magento\Framework\Indexer\FieldsetInterface::class)
  34. ->getMockForAbstractClass();
  35. $indexerFieldset->expects($this->any())
  36. ->method('addDynamicData')
  37. ->willReturnArgument(0);
  38. $fieldsetPool = $this->getMockBuilder(\Magento\Framework\Indexer\FieldsetPool::class)
  39. ->disableOriginalConstructor()
  40. ->getMock();
  41. $fieldsetPool->expects($this->any())
  42. ->method('get')
  43. ->willReturn($indexerFieldset);
  44. $indexerHandler = $this->getMockBuilder(\Magento\Framework\Indexer\HandlerInterface::class)
  45. ->getMockForAbstractClass();
  46. $handlerPool = $this->getMockBuilder(\Magento\Framework\Indexer\HandlerPool::class)
  47. ->disableOriginalConstructor()
  48. ->getMock();
  49. $handlerPool->expects($this->any())
  50. ->method('get')
  51. ->willReturn($indexerHandler);
  52. $collection = $this->getMockBuilder(\Magento\Framework\Data\Collection::class)
  53. ->disableOriginalConstructor()
  54. ->getMock();
  55. $collectionFactory =
  56. $this->getMockBuilder(\Magento\Theme\Model\ResourceModel\Design\Config\Scope\CollectionFactory::class)
  57. ->disableOriginalConstructor()
  58. ->setMethods(['create'])
  59. ->getMock();
  60. $collectionFactory->expects($this->any())
  61. ->method('create')
  62. ->willReturn($collection);
  63. $this->model = new Config(
  64. $structureFactory,
  65. $saveHandlerFactory,
  66. $fieldsetPool,
  67. $handlerPool,
  68. $collectionFactory,
  69. [
  70. 'fieldsets' => ['test_fieldset' =>
  71. [
  72. 'fields' => [
  73. 'first_field' => [
  74. 'name' => 'firstField',
  75. 'origin' => null,
  76. 'type' => 'filterable',
  77. 'handler' => null,
  78. ],
  79. 'second_field' => [
  80. 'name' => 'secondField',
  81. 'origin' => null,
  82. 'type' => 'searchable',
  83. 'handler' => null,
  84. ],
  85. ],
  86. 'provider' => $indexerFieldset,
  87. ]
  88. ],
  89. 'saveHandler' => 'saveHandlerClass',
  90. 'structure' => 'structureClass',
  91. ]
  92. );
  93. }
  94. public function testExecuteFull()
  95. {
  96. $result = $this->model->executeFull();
  97. $this->assertNull($result);
  98. }
  99. }