Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
NotSyncedDataProviderTest.php
Go to the documentation of this file.
1 <?php
7 
11 use PHPUnit_Framework_MockObject_MockObject as MockObject;
12 
16 class NotSyncedDataProviderTest extends \PHPUnit\Framework\TestCase
17 {
18  public function testGetIdsEmpty()
19  {
21  $tMapFactory = $this->getMockBuilder(TMapFactory::class)
22  ->disableOriginalConstructor()
23  ->setMethods(['create'])
24  ->getMock();
25 
26  $tMapFactory->method('create')
27  ->willReturn([]);
28 
29  $provider = new NotSyncedDataProvider($tMapFactory);
30  self::assertEquals([], $provider->getIds('main_table', 'grid_table'));
31  }
32 
33  public function testGetIds()
34  {
36  $tMapFactory = $this->getMockBuilder(TMapFactory::class)
37  ->disableOriginalConstructor()
38  ->setMethods(['create'])
39  ->getMock();
40 
41  $provider1 = $this->getMockBuilder(NotSyncedDataProviderInterface::class)
42  ->getMockForAbstractClass();
43  $provider1->method('getIds')
44  ->willReturn([1, 2]);
45 
46  $provider2 = $this->getMockBuilder(NotSyncedDataProviderInterface::class)
47  ->getMockForAbstractClass();
48  $provider2->method('getIds')
49  ->willReturn([2, 3, 4]);
50 
51  $tMapFactory->method('create')
52  ->with(self::equalTo(
53  [
54  'array' => [$provider1, $provider2],
55  'type' => NotSyncedDataProviderInterface::class
56  ]
57  ))
58  ->willReturn([$provider1, $provider2]);
59 
60  $provider = new NotSyncedDataProvider($tMapFactory, [$provider1, $provider2]);
61 
62  self::assertEquals(
63  [1, 2, 3, 4],
64  array_values($provider->getIds('main_table', 'grid_table'))
65  );
66  }
67 }