diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/SkuTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/SkuTest.php index f5579198978..99871b5e0d1 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/SkuTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/Product/Attribute/Backend/SkuTest.php @@ -14,18 +14,34 @@ class SkuTest extends \PHPUnit\Framework\TestCase /** * @magentoDataFixture Magento/Catalog/_files/product_simple.php */ - public function testGenerateUniqueSkuExistingProduct() + public function testGenerateUniqueSkuExistingProductDuplication() { $repository = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( \Magento\Catalog\Model\ProductRepository::class ); $product = $repository->get('simple'); $product->setId(null); + $product->setIsDuplicate(true); $this->assertEquals('simple', $product->getSku()); $product->getResource()->getAttribute('sku')->getBackend()->beforeSave($product); $this->assertEquals('simple-1', $product->getSku()); } + /** + * @magentoDataFixture Magento/Catalog/_files/product_simple.php + */ + public function testGenerateUniqueSkuExistingProductNoDuplication() + { + $repository = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create( + \Magento\Catalog\Model\ProductRepository::class + ); + $product = $repository->get('simple'); + $product->setId(null); + $this->assertEquals('simple', $product->getSku()); + $product->getResource()->getAttribute('sku')->getBackend()->beforeSave($product); + $this->assertEquals('simple', $product->getSku()); + } + /** * @param $product \Magento\Catalog\Model\Product * @dataProvider uniqueSkuDataProvider @@ -54,10 +70,14 @@ public function testGenerateUniqueLongSku() $copier = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get( \Magento\Catalog\Model\Product\Copier::class ); - $copier->copy($product); + $duplicate = $copier->copy($product); $this->assertEquals('0123456789012345678901234567890123456789012345678901234567890123', $product->getSku()); $product->getResource()->getAttribute('sku')->getBackend()->beforeSave($product); - $this->assertEquals('01234567890123456789012345678901234567890123456789012345678901-1', $product->getSku()); + $this->assertEquals('0123456789012345678901234567890123456789012345678901234567890123', $product->getSku()); + $duplicate->assertEquals('01234567890123456789012345678901234567890123456789012345678901-1', $duplicate->getSku()); + + $duplicate->getResource()->getAttribute('sku')->getBackend()->beforeSave($duplicate); + $duplicate->assertEquals('01234567890123456789012345678901234567890123456789012345678901-2', $duplicate->getSku()); } /**