Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
MergeDataProviderTest.php
Go to the documentation of this file.
1 <?php
7 
11 
12 class MergeDataProviderTest extends \PHPUnit\Framework\TestCase
13 {
17  private $urlRewritesSet;
18 
24  protected function setUp()
25  {
26  $this->urlRewritesSet = (new ObjectManager($this))->getObject(
27  MergeDataProvider::class,
28  []
29  );
30  }
31 
41  public function testMerge($urlRewriteMockArray, $expectedData, $arrayCount)
42  {
43  $this->urlRewritesSet->merge($urlRewriteMockArray);
44  $this->assertEquals($expectedData, $this->urlRewritesSet->getData());
45  $this->assertCount($arrayCount, $this->urlRewritesSet->getData());
46  }
47 
53  public function testGetDataWhenEmpty()
54  {
55  $this->assertEmpty($this->urlRewritesSet->getData());
56  }
57 
63  public function mergeDataProvider()
64  {
65  $urlRewriteMock1 = $this->createMock(UrlRewrite::class);
66 
67  $requestPathForMock2 = 'magento.tst/products/simpleproduct2';
68  $storeIdForMock2 = 'testStore2';
69  $urlRewriteMock2 = $this->createMock(UrlRewrite::class);
70 
71  $urlRewriteMock2->expects($this->atLeastOnce())
72  ->method('getRequestPath')
73  ->willReturn($requestPathForMock2);
74 
75  $urlRewriteMock2->expects($this->atLeastOnce())
76  ->method('getStoreId')
77  ->willReturn($storeIdForMock2);
78 
79  $requestPathForMock3 = 'magento.tst/products/simpleproduct3';
80  $storeIdForMock3 = 'testStore3';
81  $urlRewriteMock3 = $this->createMock(UrlRewrite::class);
82 
83  $urlRewriteMock3->expects($this->atLeastOnce())
84  ->method('getRequestPath')
85  ->willReturn($requestPathForMock3);
86 
87  $urlRewriteMock3->expects($this->atLeastOnce())
88  ->method('getStoreId')
89  ->willReturn($storeIdForMock3);
90 
91  return [
92  [
93  [],
94  [],
95  0
96  ],
97  [
98  [$urlRewriteMock1],
99  [$urlRewriteMock1],
100  1
101  ],
102  [
103  [
104  $urlRewriteMock1,
105  $urlRewriteMock2,
106  $urlRewriteMock2
107  ],
108  [
109  $urlRewriteMock1,
110  $requestPathForMock2 . '_' . $storeIdForMock2 => $urlRewriteMock2
111  ],
112  2
113  ],
114  [
115  [
116  $urlRewriteMock1,
117  $urlRewriteMock2,
118  $urlRewriteMock3
119  ],
120  [
121  $urlRewriteMock1,
122  $requestPathForMock2 . '_' . $storeIdForMock2 => $urlRewriteMock2,
123  $requestPathForMock3 . '_' . $storeIdForMock3 => $urlRewriteMock3
124  ],
125  3
126  ],
127  ];
128  }
129 }
testMerge($urlRewriteMockArray, $expectedData, $arrayCount)