IndexStructureTest.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Elasticsearch\Test\Unit\Model\Indexer;
  7. use Magento\Framework\TestFramework\Unit\Helper\ObjectManager as ObjectManagerHelper;
  8. use Magento\Elasticsearch\Model\Indexer\IndexStructure;
  9. class IndexStructureTest extends \PHPUnit\Framework\TestCase
  10. {
  11. /**
  12. * @var IndexStructure
  13. */
  14. private $model;
  15. /**
  16. * @var \Magento\Elasticsearch\Model\Adapter\Elasticsearch|\PHPUnit_Framework_MockObject_MockObject
  17. */
  18. private $adapter;
  19. /**
  20. * @var \Magento\Framework\App\ScopeResolverInterface|\PHPUnit_Framework_MockObject_MockObject
  21. */
  22. private $scopeResolver;
  23. /**
  24. * @var \Magento\Framework\App\ScopeInterface|\PHPUnit_Framework_MockObject_MockObject
  25. */
  26. private $scopeInterface;
  27. /**
  28. * Set up test environment.
  29. *
  30. * @return void
  31. */
  32. protected function setUp()
  33. {
  34. $this->adapter = $this->getMockBuilder(\Magento\Elasticsearch\Model\Adapter\Elasticsearch::class)
  35. ->disableOriginalConstructor()
  36. ->getMock();
  37. $this->scopeResolver = $this->getMockForAbstractClass(
  38. \Magento\Framework\App\ScopeResolverInterface::class,
  39. [],
  40. '',
  41. false
  42. );
  43. $this->scopeInterface = $this->getMockForAbstractClass(
  44. \Magento\Framework\App\ScopeInterface::class,
  45. [],
  46. '',
  47. false
  48. );
  49. $objectManager = new ObjectManagerHelper($this);
  50. $this->model = $objectManager->getObject(
  51. \Magento\Elasticsearch\Model\Indexer\IndexStructure::class,
  52. [
  53. 'adapter' => $this->adapter,
  54. 'scopeResolver' => $this->scopeResolver
  55. ]
  56. );
  57. }
  58. public function testDelete()
  59. {
  60. $scopeId = 9;
  61. $dimension = $this->getMockBuilder(\Magento\Framework\Search\Request\Dimension::class)
  62. ->disableOriginalConstructor()
  63. ->getMock();
  64. $this->adapter->expects($this->any())
  65. ->method('cleanIndex');
  66. $this->scopeResolver->expects($this->once())
  67. ->method('getScope')
  68. ->willReturn($this->scopeInterface);
  69. $this->scopeInterface->expects($this->once())
  70. ->method('getId')
  71. ->willReturn($scopeId);
  72. $this->model->delete('product', [$dimension]);
  73. }
  74. public function testCreate()
  75. {
  76. $scopeId = 9;
  77. $dimension = $this->getMockBuilder(\Magento\Framework\Search\Request\Dimension::class)
  78. ->disableOriginalConstructor()
  79. ->getMock();
  80. $this->adapter->expects($this->any())
  81. ->method('checkIndex');
  82. $this->scopeResolver->expects($this->once())
  83. ->method('getScope')
  84. ->willReturn($this->scopeInterface);
  85. $this->scopeInterface->expects($this->once())
  86. ->method('getId')
  87. ->willReturn($scopeId);
  88. $this->model->create('product', [], [$dimension]);
  89. }
  90. }