From 2d15e9107418f04626ef021451774cdc438f1b42 Mon Sep 17 00:00:00 2001 From: Lukasz Bajsarowicz Date: Thu, 27 Feb 2020 09:01:17 +0100 Subject: [PATCH 1/2] #27044 Integration Test to cover described case (loading with $storeId) attribute --- .../Catalog/Model/CategoryRepositoryTest.php | 41 ++++++++++++++++--- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/CategoryRepositoryTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/CategoryRepositoryTest.php index e1e4a87c033d0..935f827159771 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Model/CategoryRepositoryTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/CategoryRepositoryTest.php @@ -9,10 +9,10 @@ use Magento\Catalog\Api\CategoryRepositoryInterface; use Magento\Catalog\Api\CategoryRepositoryInterfaceFactory; -use Magento\Framework\Exception\LocalizedException; -use Magento\TestFramework\Catalog\Model\CategoryLayoutUpdateManager; use Magento\Catalog\Model\ResourceModel\Category\CollectionFactory as CategoryCollectionFactory; use Magento\Catalog\Model\ResourceModel\Product\CollectionFactory; +use Magento\Framework\Exception\LocalizedException; +use Magento\TestFramework\Catalog\Model\CategoryLayoutUpdateManager; use Magento\TestFramework\Helper\Bootstrap; use PHPUnit\Framework\TestCase; @@ -21,6 +21,11 @@ */ class CategoryRepositoryTest extends TestCase { + private const FIXTURE_CATEGORY_ID = 333; + private const FIXTURE_TWO_STORES_CATEGORY_ID = 555; + private const FIXTURE_SECOND_STORE_CODE = 'fixturestore'; + private const FIXTURE_FIRST_STORE_CODE = 'default'; + /** * @var CategoryLayoutUpdateManager */ @@ -77,13 +82,13 @@ public function testCustomLayout(): void { //New valid value $repo = $this->createRepo(); - $category = $repo->get(333); + $category = $repo->get(self::FIXTURE_CATEGORY_ID); $newFile = 'test'; - $this->layoutManager->setCategoryFakeFiles(333, [$newFile]); + $this->layoutManager->setCategoryFakeFiles(self::FIXTURE_CATEGORY_ID, [$newFile]); $category->setCustomAttribute('custom_layout_update_file', $newFile); $repo->save($category); $repo = $this->createRepo(); - $category = $repo->get(333); + $category = $repo->get(self::FIXTURE_CATEGORY_ID); $this->assertEquals($newFile, $category->getCustomAttribute('custom_layout_update_file')->getValue()); //Setting non-existent value @@ -126,4 +131,30 @@ public function testCategoryBehaviourAfterDelete(): void 'Wrong categories was deleted' ); } + + /** + * Verifies whether `get()` method `$storeId` attribute works as expected. + * + * @magentoDbIsolation enabled + * @magentoDataFixture Magento/Store/_files/core_fixturestore.php + * @magentoDataFixture Magento/Catalog/_files/category_with_two_stores.php + */ + public function testGetCategoryForProvidedStore() + { + $categoryRepository = $this->repositoryFactory->create(); + + $categoryFirstStore = $categoryRepository->get( + self::FIXTURE_TWO_STORES_CATEGORY_ID, + self::FIXTURE_FIRST_STORE_CODE + ); + + $this->assertSame('category-defaultstore', $categoryFirstStore->getUrlKey()); + + $categorySecondStore = $categoryRepository->get( + self::FIXTURE_TWO_STORES_CATEGORY_ID, + self::FIXTURE_SECOND_STORE_CODE + ); + + $this->assertSame('category-fixturestore', $categorySecondStore->getUrlKey()); + } } From 8ad33f504b11976a4faa53c9024767a740e6bc44 Mon Sep 17 00:00:00 2001 From: Lukasz Bajsarowicz Date: Thu, 27 Feb 2020 09:10:07 +0100 Subject: [PATCH 2/2] #27044 Add case: Get Category without `$storeId` provided --- .../Magento/Catalog/Model/CategoryRepositoryTest.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/dev/tests/integration/testsuite/Magento/Catalog/Model/CategoryRepositoryTest.php b/dev/tests/integration/testsuite/Magento/Catalog/Model/CategoryRepositoryTest.php index 935f827159771..c4cabe46f5b32 100644 --- a/dev/tests/integration/testsuite/Magento/Catalog/Model/CategoryRepositoryTest.php +++ b/dev/tests/integration/testsuite/Magento/Catalog/Model/CategoryRepositoryTest.php @@ -143,6 +143,12 @@ public function testGetCategoryForProvidedStore() { $categoryRepository = $this->repositoryFactory->create(); + $categoryDefault = $categoryRepository->get( + self::FIXTURE_TWO_STORES_CATEGORY_ID + ); + + $this->assertSame('category-defaultstore', $categoryDefault->getUrlKey()); + $categoryFirstStore = $categoryRepository->get( self::FIXTURE_TWO_STORES_CATEGORY_ID, self::FIXTURE_FIRST_STORE_CODE