Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
SearchTermDescriptionGeneratorTest.php
Go to the documentation of this file.
1 <?php
7 
8 class SearchTermDescriptionGeneratorTest extends \PHPUnit\Framework\TestCase
9 {
13  private $searchTermDescriptionGenerator;
14 
18  private $descriptionGeneratorMock;
19 
23  private $searchTermManagerMock;
24 
25  public function setUp()
26  {
27  $this->descriptionGeneratorMock =
28  $this->createMock(\Magento\Setup\Model\Description\DescriptionGenerator::class);
29  $this->searchTermManagerMock = $this->createMock(\Magento\Setup\Model\SearchTermManager::class);
30 
31  $this->searchTermDescriptionGenerator = new \Magento\Setup\Model\SearchTermDescriptionGenerator(
32  $this->descriptionGeneratorMock,
33  $this->searchTermManagerMock
34  );
35  }
36 
37  public function testGeneratorWithCaching()
38  {
39  $descriptionMock = '<o>';
40  $firstProductIndex = 1;
41  $secondProductIndex = 2;
42 
43  $this->descriptionGeneratorMock
44  ->expects($this->once())
45  ->method('generate')
46  ->willReturn($descriptionMock);
47 
48  $this->searchTermManagerMock
49  ->expects($this->exactly(2))
50  ->method('applySearchTermsToDescription')
51  ->withConsecutive(
52  [$descriptionMock, $firstProductIndex],
53  [$descriptionMock, $secondProductIndex]
54  );
55 
56  $this->searchTermDescriptionGenerator->generate($firstProductIndex);
57  $this->searchTermDescriptionGenerator->generate($secondProductIndex);
58  }
59 }