Skip to content

Commit e2ae3b6

Browse files
committed
MAGETWO-90563: [Forwardport] Implement segmentation for Category Product Indexer
1 parent 585906b commit e2ae3b6

File tree

3 files changed

+44
-34
lines changed

3 files changed

+44
-34
lines changed

app/code/Magento/Catalog/Model/ResourceModel/Product/Collection.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -476,7 +476,10 @@ public function isEnabledFlat()
476476
protected function _construct()
477477
{
478478
if ($this->isEnabledFlat()) {
479-
$this->_init(\Magento\Catalog\Model\Product::class, \Magento\Catalog\Model\ResourceModel\Product\Flat::class);
479+
$this->_init(
480+
\Magento\Catalog\Model\Product::class,
481+
\Magento\Catalog\Model\ResourceModel\Product\Flat::class
482+
);
480483
} else {
481484
$this->_init(\Magento\Catalog\Model\Product::class, \Magento\Catalog\Model\ResourceModel\Product::class);
482485
}

dev/tests/integration/testsuite/Magento/Catalog/Model/CategoryTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ public function testDeleteChildren()
323323
/**
324324
* @magentoDataFixture Magento/Store/_files/second_store.php
325325
* @magentoDataFixture Magento/Catalog/_files/categories.php
326-
* @magentoDbIsolation enabled
326+
* @magentoDbIsolation disabled
327327
* @return void
328328
*/
329329
public function testCreateSubcategoryWithMultipleStores()

dev/tests/integration/testsuite/Magento/ConfigurableImportExport/Model/Import/Product/Type/ConfigurableTest.php

Lines changed: 39 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -152,18 +152,19 @@ public function testConfigurableImport($pathToFile, $productName, $optionSkuList
152152
}
153153

154154
/**
155+
* @magentoDataFixture Magento/Catalog/_files/enable_reindex_schedule.php
155156
* @magentoDataFixture Magento/Store/_files/second_store.php
156157
* @magentoDataFixture Magento/ConfigurableProduct/_files/configurable_attribute.php
157158
* @magentoAppArea adminhtml
158159
* @magentoAppIsolation enabled
159-
* @return void
160+
* @magentoDbIsolation disabled
160161
*/
161162
public function testConfigurableImportWithMultipleStores()
162163
{
163164
$productSku = 'Configurable 1';
164165
$products = [
165166
'default' => 'Configurable 1',
166-
'fixture_second_store' => 'Configurable 1 Second Store',
167+
'fixture_second_store' => 'Configurable 1 Second Store'
167168
];
168169
$filesystem = $this->objectManager->create(
169170
\Magento\Framework\Filesystem::class
@@ -174,24 +175,26 @@ public function testConfigurableImportWithMultipleStores()
174175
\Magento\ImportExport\Model\Import\Source\Csv::class,
175176
[
176177
'file' => __DIR__ . '/../../_files/import_configurable_for_multiple_store_views.csv',
177-
'directory' => $directory,
178+
'directory' => $directory
178179
]
179180
);
180-
$errors = $this->model->setSource($source)->setParameters(
181+
$errors = $this->model->setSource(
182+
$source
183+
)->setParameters(
181184
[
182185
'behavior' => \Magento\ImportExport\Model\Import::BEHAVIOR_APPEND,
183-
'entity' => 'catalog_product',
186+
'entity' => 'catalog_product'
184187
]
185188
)->validateData();
186189

187-
$this->assertTrue($errors->getErrorsCount() === 0);
190+
$this->assertTrue($errors->getErrorsCount() == 0);
188191
$this->model->importData();
189192

190193
foreach ($products as $storeCode => $productName) {
191194
$store = $this->objectManager->create(\Magento\Store\Model\Store::class);
192195
$store->load($storeCode, 'code');
193-
/** @var ProductRepositoryInterface $productRepository */
194-
$productRepository = $this->objectManager->get(ProductRepositoryInterface::class);
196+
/** @var \Magento\Catalog\Api\ProductRepositoryInterface $productRepository */
197+
$productRepository = $this->objectManager->get(\Magento\Catalog\Api\ProductRepositoryInterface::class);
195198
/** @var \Magento\Catalog\Api\Data\ProductInterface $product */
196199
$product = $productRepository->get($productSku, 0, $store->getId());
197200
$this->assertFalse($product->isObjectNew());
@@ -201,36 +204,40 @@ public function testConfigurableImportWithMultipleStores()
201204
}
202205

203206
/**
207+
* @magentoDataFixture Magento/Catalog/_files/enable_reindex_schedule.php
204208
* @magentoDataFixture Magento/Store/_files/second_store.php
205209
* @magentoDataFixture Magento/ConfigurableProduct/_files/configurable_attribute.php
206210
* @magentoDbIsolation disabled
207211
* @magentoAppArea adminhtml
208-
* @return void
209212
*/
210213
public function testConfigurableImportWithStoreSpecifiedMainItem()
211214
{
212-
$expectedErrorMessage = 'Product with assigned super attributes should not have specified "store_view_code"'
213-
. ' value';
214-
$filesystem = $this->objectManager->create(
215-
\Magento\Framework\Filesystem::class
216-
);
217-
218-
$directory = $filesystem->getDirectoryWrite(DirectoryList::ROOT);
219-
$source = $this->objectManager->create(
220-
\Magento\ImportExport\Model\Import\Source\Csv::class,
221-
[
222-
'file' => __DIR__ . '/../../_files/import_configurable_for_multiple_store_views_error.csv',
223-
'directory' => $directory,
224-
]
225-
);
226-
$errors = $this->model->setSource($source)->setParameters(
227-
[
228-
'behavior' => \Magento\ImportExport\Model\Import::BEHAVIOR_APPEND,
229-
'entity' => 'catalog_product',
230-
]
231-
)->validateData();
232-
233-
$this->assertTrue($errors->getErrorsCount() === 1);
234-
$this->assertEquals($expectedErrorMessage, $errors->getAllErrors()[0]->getErrorMessage());
215+
{
216+
$expectedErrorMessage = 'Product with assigned super attributes should not have specified "store_view_code"'
217+
. ' value';
218+
$filesystem = $this->objectManager->create(
219+
\Magento\Framework\Filesystem::class
220+
);
221+
222+
$directory = $filesystem->getDirectoryWrite(DirectoryList::ROOT);
223+
$source = $this->objectManager->create(
224+
\Magento\ImportExport\Model\Import\Source\Csv::class,
225+
[
226+
'file' => __DIR__ . '/../../_files/import_configurable_for_multiple_store_views_error.csv',
227+
'directory' => $directory
228+
]
229+
);
230+
$errors = $this->model->setSource(
231+
$source
232+
)->setParameters(
233+
[
234+
'behavior' => \Magento\ImportExport\Model\Import::BEHAVIOR_APPEND,
235+
'entity' => 'catalog_product'
236+
]
237+
)->validateData();
238+
239+
$this->assertTrue($errors->getErrorsCount() == 1);
240+
$this->assertEquals($expectedErrorMessage, $errors->getAllErrors()[0]->getErrorMessage());
241+
}
235242
}
236243
}

0 commit comments

Comments
 (0)