Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AutocompleteTest.php
Go to the documentation of this file.
1 <?php
7 
11 
12 class AutocompleteTest extends \PHPUnit\Framework\TestCase
13 {
17  private $model;
18 
22  private $firstDataProvider;
23 
27  private $secondDataProvider;
28 
29  protected function setUp()
30  {
31  $helper = new ObjectManager($this);
32 
33  $this->firstDataProvider = $this->getMockBuilder(\Magento\Search\Model\DataProviderInterface::class)
34  ->disableOriginalConstructor()
35  ->setMethods(['getItems'])
36  ->getMock();
37  $this->secondDataProvider = $this->getMockBuilder(\Magento\Search\Model\DataProviderInterface::class)
38  ->disableOriginalConstructor()
39  ->setMethods(['getItems'])
40  ->getMock();
41  $dataProviders = [
42  '20' => $this->firstDataProvider,
43  '10' => $this->secondDataProvider
44  ];
45 
46  $this->model = $helper->getObject(
47  \Magento\Search\Model\Autocomplete::class,
48  ['dataProviders' => $dataProviders]
49  );
50  }
51 
52  public function testGetItems()
53  {
54  $firstItemMock = $this->getMockBuilder(\Magento\Search\Model\Autocomplete\Item::class)
55  ->disableOriginalConstructor()
56  ->setMockClassName('FirstItem')
57  ->getMock();
58  $secondItemMock = $this->getMockBuilder(\Magento\Search\Model\Autocomplete\Item::class)
59  ->disableOriginalConstructor()
60  ->setMockClassName('SecondItem')
61  ->getMock();
62 
63  $this->firstDataProvider->expects($this->once())
64  ->method('getItems')
65  ->willReturn([$firstItemMock]);
66  $this->secondDataProvider->expects($this->once())
67  ->method('getItems')
68  ->willReturn([$secondItemMock]);
69 
70  $this->assertEquals([$secondItemMock, $firstItemMock], $this->model->getItems());
71  }
72 }
$helper
Definition: iframe.phtml:13