Skip to content

Commit 11221c9

Browse files
committed
ACPT-1572: Slow saving of stores/websites
- Fix tests;
1 parent 606bcfc commit 11221c9

File tree

2 files changed

+14
-141
lines changed

2 files changed

+14
-141
lines changed

app/code/Magento/Store/Test/Unit/Model/GroupTest.php

Lines changed: 8 additions & 131 deletions
Original file line numberDiff line numberDiff line change
@@ -7,151 +7,28 @@
77

88
namespace Magento\Store\Test\Unit\Model;
99

10-
use Magento\Config\Model\ResourceModel\Config\Data;
11-
use Magento\Framework\Api\AttributeValueFactory;
12-
use Magento\Framework\Api\ExtensionAttributesFactory;
13-
use Magento\Framework\Data\Collection\AbstractDb;
14-
use Magento\Framework\Event\ManagerInterface;
15-
use Magento\Framework\MessageQueue\PoisonPill\PoisonPillPutInterface;
16-
use Magento\Framework\Model\Context;
17-
use Magento\Framework\Model\ResourceModel\AbstractResource;
18-
use Magento\Framework\Registry;
10+
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
1911
use Magento\Store\Model\Group;
20-
use Magento\Store\Model\ResourceModel\Store\CollectionFactory;
21-
use Magento\Store\Model\StoreManagerInterface;
22-
use Magento\Store\Model\Validation\StoreValidator;
23-
use PHPUnit\Framework\MockObject\MockObject;
2412
use PHPUnit\Framework\TestCase;
2513

26-
/**
27-
* @SuppressWarnings(PHPMD.CouplingBetweenObjects)
28-
*/
2914
class GroupTest extends TestCase
3015
{
3116
/**
32-
* @var Group|MockObject
33-
*/
34-
private $model;
35-
36-
/**
37-
* @var Context|MockObject
38-
*/
39-
private $context;
40-
41-
/**
42-
* @var Registry|MockObject
43-
*/
44-
private $registry;
45-
46-
/**
47-
* @var ExtensionAttributesFactory|MockObject
48-
*/
49-
private $extensionFactory;
50-
51-
/**
52-
* @var AttributeValueFactory|MockObject
53-
*/
54-
private $customAttributeFactory;
55-
56-
/**
57-
* @var Data|MockObject
58-
*/
59-
private $configDataResource;
60-
61-
/**
62-
* @var CollectionFactory|MockObject
63-
*/
64-
private $storeListFactory;
65-
66-
/**
67-
* @var StoreManagerInterface|MockObject
17+
* @var Group
6818
*/
69-
private $storeManager;
19+
protected $model;
7020

7121
/**
72-
* @var AbstractResource|MockObject
22+
* @var ObjectManager
7323
*/
74-
private $resource;
75-
76-
/**
77-
* @var AbstractDb|MockObject
78-
*/
79-
private $resourceCollection;
80-
81-
/**
82-
* @var ManagerInterface|MockObject
83-
*/
84-
private $eventManager;
85-
86-
/**
87-
* @var PoisonPillPutInterface|MockObject
88-
*/
89-
private $pillPut;
90-
91-
/**
92-
* @var StoreValidator|MockObject
93-
*/
94-
private $modelValidator;
24+
protected $objectManagerHelper;
9525

9626
protected function setUp(): void
9727
{
98-
$this->context = $this->getMockBuilder(Context::class)
99-
->disableOriginalConstructor()
100-
->getMock();
101-
102-
$this->registry = $this->getMockBuilder(Registry::class)
103-
->disableOriginalConstructor()
104-
->getMock();
105-
106-
$this->extensionFactory = $this->getMockBuilder(ExtensionAttributesFactory::class)
107-
->disableOriginalConstructor()
108-
->getMock();
109-
110-
$this->customAttributeFactory = $this->getMockBuilder(AttributeValueFactory::class)
111-
->disableOriginalConstructor()
112-
->getMock();
113-
114-
$this->configDataResource = $this->getMockBuilder(Data::class)
115-
->disableOriginalConstructor()
116-
->getMock();
117-
118-
$this->storeListFactory = $this->getMockBuilder(CollectionFactory::class)
119-
->disableOriginalConstructor()
120-
->getMock();
121-
122-
$this->storeManager = $this->getMockForAbstractClass(StoreManagerInterface::class);
123-
124-
$this->resource = $this->getMockBuilder(AbstractResource::class)
125-
->addMethods(['getIdFieldName'])
126-
->disableOriginalConstructor()
127-
->getMockForAbstractClass();
128-
129-
$this->resourceCollection = $this->getMockBuilder(AbstractDb::class)
130-
->disableOriginalConstructor()
131-
->getMock();
132-
133-
$this->eventManager = $this->getMockForAbstractClass(ManagerInterface::class);
134-
135-
$this->pillPut = $this->getMockForAbstractClass(PoisonPillPutInterface::class);
136-
137-
$this->modelValidator = $this->getMockBuilder(StoreValidator::class)
138-
->disableOriginalConstructor()
139-
->getMock();
28+
$this->objectManagerHelper = new ObjectManager($this);
14029

141-
$this->model = new Group(
142-
$this->context,
143-
$this->registry,
144-
$this->extensionFactory,
145-
$this->customAttributeFactory,
146-
$this->configDataResource,
147-
$this->storeListFactory,
148-
$this->storeManager,
149-
$this->resource,
150-
$this->resourceCollection,
151-
[],
152-
$this->eventManager,
153-
$this->pillPut,
154-
$this->modelValidator
30+
$this->model = $this->objectManagerHelper->getObject(
31+
Group::class
15532
);
15633
}
15734

dev/tests/integration/testsuite/Magento/Store/Model/WebsiteTest.php

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ class WebsiteTest extends \PHPUnit\Framework\TestCase
2020
private $objectManager;
2121

2222
/**
23-
* @var Website
23+
* @var \Magento\Store\Model\Website
2424
*/
2525
protected $_model;
2626

@@ -32,8 +32,8 @@ class WebsiteTest extends \PHPUnit\Framework\TestCase
3232
protected function setUp(): void
3333
{
3434
$this->objectManager = Bootstrap::getObjectManager();
35-
$this->_model = $this->objectManager->get(Website::class);
36-
$this->typeList = $this->objectManager->get(TypeListInterface::class);
35+
$this->typeList = $this->objectManager->create(TypeListInterface::class);
36+
$this->_model = $this->objectManager->create(\Magento\Store\Model\Website::class);
3737
$this->_model->load(1);
3838
}
3939

@@ -66,9 +66,7 @@ public function testLoadByCode()
6666
public function testSetGroupsAndStores()
6767
{
6868
/* Groups */
69-
$expectedGroup = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
70-
\Magento\Store\Model\Group::class
71-
);
69+
$expectedGroup = $this->objectManager->create(\Magento\Store\Model\Group::class);
7270
$expectedGroup->setId(123);
7371
$this->_model->setDefaultGroupId($expectedGroup->getId());
7472
$this->_model->setGroups([$expectedGroup]);
@@ -77,9 +75,7 @@ public function testSetGroupsAndStores()
7775
$this->assertSame($expectedGroup, reset($groups));
7876

7977
/* Stores */
80-
$expectedStore = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create(
81-
\Magento\Store\Model\Store::class
82-
);
78+
$expectedStore = $this->objectManager->create(\Magento\Store\Model\Store::class);
8379
$expectedStore->setId(456);
8480
$expectedGroup->setDefaultStoreId($expectedStore->getId());
8581
$this->_model->setStores([$expectedStore]);
@@ -220,7 +216,7 @@ public function testCacheInvalidationOnWebsiteUpdateAndDeletion()
220216
'should be clean before website update.'
221217
);
222218

223-
$website = $this->objectManager->create(Website::class);
219+
$website = $this->objectManager->create(\Magento\Store\Model\Website::class);
224220
$website->load('test', 'code');
225221
$website->setName('Test Website 1');
226222
$website->save();

0 commit comments

Comments
 (0)