Skip to content

Commit a2874cd

Browse files
Merge remote-tracking branch 'magento-l3/ACP2E-1384' into PR-L3-21-02-2023
2 parents c32fb8b + 562c356 commit a2874cd

File tree

2 files changed

+38
-4
lines changed
  • app/code/Magento/CatalogImportExport/Model/Import
  • dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Import/ProductTest

2 files changed

+38
-4
lines changed

app/code/Magento/CatalogImportExport/Model/Import/Product.php

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2034,10 +2034,7 @@ private function saveProductAttributesPhase(
20342034
}
20352035
if (self::SCOPE_STORE == $rowScope) {
20362036
if (self::SCOPE_WEBSITE == $attribute->getIsGlobal()) {
2037-
// check website defaults already set
2038-
if (!isset($attributes[$attrTable][$rowSku][$attrId][$rowStore])) {
2039-
$storeIds = $this->storeResolver->getStoreIdToWebsiteStoreIds($rowStore);
2040-
}
2037+
$storeIds = $this->storeResolver->getStoreIdToWebsiteStoreIds($rowStore);
20412038
} elseif (self::SCOPE_STORE == $attribute->getIsGlobal()) {
20422039
$storeIds = [$rowStore];
20432040
}

dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Import/ProductTest/ProductOtherTest.php

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77

88
namespace Magento\CatalogImportExport\Model\Import\ProductTest;
99

10+
use Magento\Catalog\Helper\Data as CatalogConfig;
1011
use Magento\Catalog\Model\Product;
1112
use Magento\Catalog\Model\ResourceModel\Product as ProductResource;
13+
use Magento\Catalog\Test\Fixture\Product as ProductFixture;
1214
use Magento\CatalogImportExport\Model\Import\ProductTestBase;
1315
use Magento\CatalogInventory\Model\StockRegistry;
1416
use Magento\Framework\Api\SearchCriteria;
@@ -17,6 +19,12 @@
1719
use Magento\ImportExport\Helper\Data;
1820
use Magento\ImportExport\Model\Import;
1921
use Magento\ImportExport\Model\Import\Source\Csv;
22+
use Magento\ImportExport\Test\Fixture\CsvFile as CsvFileFixture;
23+
use Magento\Store\Model\ScopeInterface;
24+
use Magento\Store\Model\Store;
25+
use Magento\TestFramework\Fixture\Config;
26+
use Magento\TestFramework\Fixture\DataFixture;
27+
use Magento\TestFramework\Fixture\DataFixtureStorageManager;
2028
use Magento\UrlRewrite\Model\ResourceModel\UrlRewriteCollection;
2129

2230
/**
@@ -725,4 +733,33 @@ public function testImportProductWithTaxClassNone(): void
725733
$simpleProduct = $this->getProductBySku('simple2');
726734
$this->assertSame('0', (string) $simpleProduct->getTaxClassId());
727735
}
736+
737+
#[
738+
Config(CatalogConfig::XML_PATH_PRICE_SCOPE, CatalogConfig::PRICE_SCOPE_WEBSITE, ScopeInterface::SCOPE_STORE),
739+
DataFixture(ProductFixture::class, ['price' => 10], 'product'),
740+
DataFixture(
741+
CsvFileFixture::class,
742+
[
743+
'rows' => [
744+
['sku', 'store_view_code', 'price'],
745+
['$product.sku$', 'default', '9'],
746+
['$product.sku$', 'default', '8'],
747+
]
748+
],
749+
'file'
750+
),
751+
]
752+
public function testImportPriceInStoreViewShouldNotOverrideDefaultScopePrice(): void
753+
{
754+
$fixtures = DataFixtureStorageManager::getStorage();
755+
$sku = $fixtures->get('product')->getSku();
756+
$pathToFile = $fixtures->get('file')->getAbsolutePath();
757+
$importModel = $this->createImportModel($pathToFile);
758+
$this->assertErrorsCount(0, $importModel->validateData());
759+
$importModel->importData();
760+
$product = $this->productRepository->get($sku, storeId: Store::DEFAULT_STORE_ID, forceReload: true);
761+
$this->assertEquals(10, $product->getPrice());
762+
$product = $this->productRepository->get($sku, storeId: Store::DISTRO_STORE_ID, forceReload: true);
763+
$this->assertEquals(9, $product->getPrice());
764+
}
728765
}

0 commit comments

Comments
 (0)