10 use Magento\Catalog\Model\CategoryFactory;
27 private $fixtureModelMock;
37 private $storeManagerMock;
42 private $eventManagerMock;
47 private $categoryFactoryMock;
52 private $scopeConfigMock;
57 private $localeConfigMock;
64 $this->fixtureModelMock = $this->getMockBuilder(FixtureModel::class)
65 ->disableOriginalConstructor()
68 $this->storeManagerMock = $this->getMockBuilder(StoreManager::class)
69 ->disableOriginalConstructor()
75 'getDefaultStoreView',
81 $this->eventManagerMock = $this->getMockBuilder(ManagerInterface::class)
82 ->disableOriginalConstructor()
85 $this->categoryFactoryMock = $this->getMockBuilder(CategoryFactory::class)
86 ->disableOriginalConstructor()
87 ->setMethods([
'create'])
90 $categoryMock = $this->getMockBuilder(CategoryInterface::class)
91 ->disableOriginalConstructor()
104 ->getMockForAbstractClass();
106 $this->categoryFactoryMock->expects($this->exactly(5))
108 ->willReturn($categoryMock);
110 $categoryMock->expects($this->exactly(5))
112 ->willReturn($categoryMock);
114 $categoryMock->expects($this->exactly(5))
116 ->willReturn($categoryMock);
118 $categoryMock->expects($this->exactly(5))
120 ->willReturn($categoryMock);
122 $categoryMock->expects($this->exactly(5))
123 ->method(
'setAvailableSortBy')
124 ->willReturn($categoryMock);
126 $categoryMock->expects($this->exactly(5))
127 ->method(
'setDefaultSortBy')
128 ->willReturn($categoryMock);
130 $categoryMock->expects($this->exactly(5))
131 ->method(
'setIsActive')
132 ->willReturn($categoryMock);
134 $categoryMock->expects($this->exactly(5))
136 ->willReturn($categoryMock);
138 $categoryMock->expects($this->exactly(5))
140 ->willReturn($categoryMock);
142 $this->localeConfigMock = $this->getMockBuilder(Config::class)
143 ->disableOriginalConstructor()
144 ->setMethods([
'getAllowedLocales'])
147 $this->localeConfigMock->expects($this->once())
148 ->method(
'getAllowedLocales')
149 ->willReturn([
'en_US']);
151 $this->scopeConfigMock = $this->getMockBuilder(Writer::class)
152 ->disableOriginalConstructor()
155 $storeMock = $this->getMockBuilder(StoreInterface::class)
156 ->disableOriginalConstructor()
157 ->setMethods([
'getId',
'getRootCategoryId',
'addData',
'save'])
158 ->getMockForAbstractClass();
160 $storeMock->expects($this->exactly(11))
164 $storeMock->expects($this->exactly(11))
170 'name' =>
'Store view 2 - website_id_1 - group_id_1',
173 'code' =>
'store_view_2',
179 'name' =>
'Store view 3 - website_id_1 - group_id_1',
182 'code' =>
'store_view_3',
186 ->willReturn($storeMock);
188 $storeGroupMock = $this->getMockBuilder(GroupInterface::class)
189 ->disableOriginalConstructor()
190 ->setMethods([
'getId',
'addData',
'save'])
191 ->getMockForAbstractClass();
193 $storeGroupMock->expects($this->exactly(11))
197 $storeGroupMock->expects($this->exactly(5))
204 'name' =>
'Store Group 2 - website_id_1',
205 'code' =>
'store_group_2',
206 'root_category_id' => $categoryMock,
213 'name' =>
'Store Group 3 - website_id_1',
214 'code' =>
'store_group_3',
215 'root_category_id' => $categoryMock,
219 ->willReturn($storeGroupMock);
221 $websiteMock = $this->getMockBuilder(WebsiteInterface::class)
222 ->disableOriginalConstructor()
223 ->setMethods([
'getId',
'addData',
'save'])
224 ->getMockForAbstractClass();
226 $websiteMock->expects($this->exactly(3))
230 $websiteMock->expects($this->exactly(2))
235 'website_id' =>
null,
236 'code' =>
'website_2',
237 'name' =>
'Website 2',
238 'is_default' =>
false,
243 'website_id' =>
null,
244 'code' =>
'website_3',
245 'name' =>
'Website 3',
246 'is_default' =>
false,
250 ->willReturn($storeGroupMock);
252 $this->storeManagerMock->expects($this->once())
253 ->method(
'getGroups')
254 ->willReturn([$storeGroupMock]);
256 $this->storeManagerMock->expects($this->once())
258 ->willReturn($storeGroupMock);
260 $this->storeManagerMock->expects($this->once())
261 ->method(
'getWebsite')
262 ->willReturn($websiteMock);
264 $this->storeManagerMock->expects($this->once())
265 ->method(
'getStores')
266 ->willReturn([$storeMock]);
268 $this->storeManagerMock->expects($this->once())
269 ->method(
'getDefaultStoreView')
270 ->willReturn($storeMock);
272 $this->fixtureModelMock
273 ->expects($this->exactly(4))
275 ->will($this->returnValueMap(
278 [
'store_groups', 1, 6],
279 [
'store_views', 1, 12],
280 [
'assign_entities_to_all_websites',
false]
285 $this->fixtureModelMock,
286 $this->storeManagerMock,
287 $this->eventManagerMock,
288 $this->categoryFactoryMock,
289 $this->localeConfigMock,
290 $this->scopeConfigMock
293 $this->model->execute();