Skip to content

Commit d4981db

Browse files
author
Stanislav Idolov
committed
MAGETWO-39588: store_id value is not honored when creating simple product through API in multi-websites / multi-stores setup
1 parent 5149d4a commit d4981db

File tree

4 files changed

+55
-6
lines changed

4 files changed

+55
-6
lines changed

dev/tests/api-functional/testsuite/Magento/Catalog/Api/ProductRepositoryInterfaceTest.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ public function testCreate($product)
140140
* @param array $fixtureProduct
141141
*
142142
* @dataProvider productCreationProvider
143-
* @magentoApiDataFixture Magento/Store/_files/core_fixturestore.php
143+
* @magentoApiDataFixture Magento/Store/_files/fixture_store_with_catalogsearch_index.php
144144
*/
145145
public function testCreateAllStoreCode($fixtureProduct)
146146
{
@@ -169,7 +169,7 @@ public function testCreateAllStoreCode($fixtureProduct)
169169
* @param array $fixtureProduct
170170
*
171171
* @dataProvider productCreationProvider
172-
* @magentoApiDataFixture Magento/Store/_files/core_fixturestore.php
172+
* @magentoApiDataFixture Magento/Store/_files/fixture_store_with_catalogsearch_index.php
173173
*/
174174
public function testDeleteAllStoreCode($fixtureProduct)
175175
{

dev/tests/integration/testsuite/Magento/Store/_files/core_fixturestore.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,6 @@
2222
->setIsActive(1);
2323
$store->save();
2424

25-
Bootstrap::getObjectManager()
26-
->get('Magento\Framework\Event\ManagerInterface')
27-
->dispatch('store_add', ['store' => $store]);
28-
2925
/* Refresh stores memory cache */
3026
Bootstrap::getObjectManager()->get('Magento\Store\Model\StoreManagerInterface')->reinitStores();
3127
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
use Magento\TestFramework\Helper\Bootstrap;
8+
9+
/** @var \Magento\Store\Model\StoreManagerInterface $storeManager */
10+
$storeManager = Bootstrap::getObjectManager()->get('Magento\Store\Model\StoreManagerInterface');
11+
12+
/** @var \Magento\Store\Model\Store $store */
13+
$store = Bootstrap::getObjectManager()->create('Magento\Store\Model\Store');
14+
$storeCode = 'fixturestore';
15+
16+
if (!$store->load($storeCode)->getId()) {
17+
$store->setCode($storeCode)
18+
->setWebsiteId($storeManager->getWebsite()->getId())
19+
->setGroupId($storeManager->getWebsite()->getDefaultGroupId())
20+
->setName('Fixture Store')
21+
->setSortOrder(10)
22+
->setIsActive(1);
23+
$store->save();
24+
25+
Bootstrap::getObjectManager()
26+
->get('Magento\Framework\Event\ManagerInterface')
27+
->dispatch('store_add', ['store' => $store]);
28+
29+
/* Refresh stores memory cache */
30+
Bootstrap::getObjectManager()->get('Magento\Store\Model\StoreManagerInterface')->reinitStores();
31+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
/**
3+
* Copyright © 2015 Magento. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
7+
/** @var \Magento\Framework\Registry $registry */
8+
$registry = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->get('Magento\Framework\Registry');
9+
10+
$registry->unregister('isSecureArea');
11+
$registry->register('isSecureArea', true);
12+
13+
/** @var \Magento\Store\Model\Store $store */
14+
$store = \Magento\TestFramework\Helper\Bootstrap::getObjectManager()->create('Magento\Store\Model\Store');
15+
$storeCode = 'fixturestore';
16+
$store->load($storeCode);
17+
if ($store->getId()) {
18+
$store->delete();
19+
}
20+
21+
$registry->unregister('isSecureArea');
22+
$registry->register('isSecureArea', false);

0 commit comments

Comments
 (0)