Skip to content

Commit 8eeb9c2

Browse files
author
Pieter Zandbergen
committed
Added test
1 parent d33d6e5 commit 8eeb9c2

File tree

3 files changed

+124
-0
lines changed

3 files changed

+124
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
declare(strict_types=1);
7+
8+
namespace Magento\Catalog\Model\ResourceModel;
9+
10+
use Magento\TestFramework\Helper\Bootstrap;
11+
use PHPUnit\Framework\TestCase;
12+
13+
/**
14+
* Tests for the Catalog Url Resource Model.
15+
*/
16+
class UrlTest extends TestCase
17+
{
18+
private Url $urlResource;
19+
20+
/**
21+
* @inheritdoc
22+
*/
23+
protected function setUp(): void
24+
{
25+
$objectManager = Bootstrap::getObjectManager();
26+
$this->urlResource = $objectManager->create(Url::class);
27+
}
28+
29+
/**
30+
* Test that scope is respected for the is_active flag.
31+
*
32+
* @return void
33+
* @magentoDataFixture Magento/Catalog/_files/categories_disabled_different_scopes.php
34+
*/
35+
public function testIsActiveScope(): void
36+
{
37+
$categories = $this->urlResource->getCategories([3, 4, 5], 1);
38+
$this->assertTrue((bool) $categories[3]->getIsActive());
39+
$this->assertFalse((bool) $categories[4]->getIsActive());
40+
$this->assertFalse((bool) $categories[5]->getIsActive());
41+
}
42+
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
use Magento\Catalog\Api\Data\CategoryInterfaceFactory;
8+
use Magento\TestFramework\Helper\Bootstrap;
9+
10+
$objectManager = Bootstrap::getObjectManager();
11+
$categoryFactory = $objectManager->get(CategoryInterfaceFactory::class);
12+
13+
// Adding enabled category
14+
$category = $categoryFactory->create();
15+
$category->isObjectNew(true);
16+
$category->setId(3)
17+
->setName('Enabled')
18+
->setParentId(2)
19+
->setPath('1/2/3')
20+
->setLevel(2)
21+
->setAvailableSortBy('name')
22+
->setDefaultSortBy('name')
23+
->setIsActive(true)
24+
->setPosition(1)
25+
->save();
26+
27+
// Adding category disabled on default scope
28+
$category = $categoryFactory->create();
29+
$category->isObjectNew(true);
30+
$category->setId(4)
31+
->setName('Disabled on default scope')
32+
->setParentId(2)
33+
->setPath('1/2/4')
34+
->setLevel(2)
35+
->setAvailableSortBy('name')
36+
->setDefaultSortBy('name')
37+
->setIsActive(false)
38+
->setPosition(1)
39+
->save();
40+
41+
// Adding category disabled on store scope
42+
$category = $categoryFactory->create();
43+
$category->isObjectNew(true);
44+
$category->setId(5)
45+
->setName('Disabled on store scope')
46+
->setParentId(2)
47+
->setPath('1/2/5')
48+
->setLevel(2)
49+
->setAvailableSortBy('name')
50+
->setDefaultSortBy('name')
51+
->setIsActive(true)
52+
->setPosition(1)
53+
->save();
54+
$category->setStoreId(1)
55+
->setIsActive(false)
56+
->save();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
use Magento\TestFramework\Workaround\Override\Fixture\Resolver;
7+
8+
Resolver::getInstance()->requireDataFixture('Magento/Catalog/_files/categories_rollback.php');
9+
10+
$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
11+
/** @var \Magento\Framework\Registry $registry */
12+
$registry = $objectManager->get(\Magento\Framework\Registry::class);
13+
14+
$registry->unregister('isSecureArea');
15+
$registry->register('isSecureArea', true);
16+
17+
// Remove categories
18+
/** @var Magento\Catalog\Model\ResourceModel\Category\Collection $collection */
19+
$collection = $objectManager->create(\Magento\Catalog\Model\ResourceModel\Category\Collection::class);
20+
$collection
21+
->addAttributeToFilter('entity_id', ['in' => [3, 4, 5]])
22+
->load()
23+
->delete();
24+
25+
$registry->unregister('isSecureArea');
26+
$registry->register('isSecureArea', false);

0 commit comments

Comments
 (0)