Skip to content

Commit 75f7f41

Browse files
committed
magento/graphql-ce#167: Add support for '@magentoConfigFixture' annotation on API-functional tests
1 parent 33d07de commit 75f7f41

10 files changed

+237
-0
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
// TODO: Should be removed in scope of https://github.com/magento/graphql-ce/issues/167
7+
declare(strict_types=1);
8+
9+
use Magento\Config\Model\Config;
10+
use Magento\Framework\App\Config\ScopeConfigInterface;
11+
use Magento\Store\Model\Store;
12+
use Magento\TestFramework\Helper\Bootstrap;
13+
14+
$objectManager = Bootstrap::getObjectManager();
15+
$paymentMethodList = $objectManager->get(\Magento\Payment\Api\PaymentMethodListInterface::class);
16+
$rollbackConfigKey = 'test/payment/disabled_payment_methods';
17+
$configData = [];
18+
$disabledPaymentMethods = [];
19+
20+
// Get all active Payment Methods
21+
foreach ($paymentMethodList->getActiveList(Store::DEFAULT_STORE_ID) as $paymentMethod) {
22+
$configData['payment/' . $paymentMethod->getCode() . '/active'] = 0;
23+
$disabledPaymentMethods[] = $paymentMethod->getCode();
24+
}
25+
// Remember all manually disabled Payment Methods for rollback
26+
$configData[$rollbackConfigKey] = implode(',', $disabledPaymentMethods);
27+
28+
/** @var Config $defConfig */
29+
$defConfig = $objectManager->create(Config::class);
30+
$defConfig->setScope(ScopeConfigInterface::SCOPE_TYPE_DEFAULT);
31+
32+
foreach ($configData as $key => $value) {
33+
$defConfig->setDataByPath($key, $value);
34+
$defConfig->save();
35+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
// TODO: Should be removed in scope of https://github.com/magento/graphql-ce/issues/167
7+
declare(strict_types=1);
8+
9+
use Magento\Framework\App\Config\ScopeConfigInterface;
10+
use Magento\Framework\App\Config\Storage\WriterInterface;
11+
use Magento\TestFramework\Helper\Bootstrap;
12+
13+
$objectManager = Bootstrap::getObjectManager();
14+
$rollbackConfigKey = 'test/payment/disabled_payment_methods';
15+
16+
$configWriter = $objectManager->create(WriterInterface::class);
17+
$rollbackConfigValue = $objectManager->get(\Magento\Store\Model\StoreManagerInterface::class)
18+
->getStore(\Magento\Store\Model\Store::DEFAULT_STORE_ID)
19+
->getConfig($rollbackConfigKey);
20+
21+
$disabledPaymentMethods = [];
22+
if (!empty($rollbackConfigValue)) {
23+
$disabledPaymentMethods = explode(',', $rollbackConfigValue);
24+
}
25+
26+
if (count($disabledPaymentMethods)) {
27+
foreach ($disabledPaymentMethods as $keyToRemove) {
28+
$configWriter->delete(sprintf('payment/%s/active', $keyToRemove));
29+
}
30+
}
31+
$configWriter->delete($rollbackConfigKey);
32+
33+
$scopeConfig = $objectManager->get(ScopeConfigInterface::class);
34+
$scopeConfig->clean();
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
// TODO: Should be removed in scope of https://github.com/magento/graphql-ce/issues/167
7+
declare(strict_types=1);
8+
9+
use Magento\Framework\App\Config\Storage\Writer;
10+
use Magento\Framework\App\Config\Storage\WriterInterface;
11+
use Magento\TestFramework\Helper\Bootstrap;
12+
use Magento\Framework\App\Config\ScopeConfigInterface;
13+
14+
$objectManager = Bootstrap::getObjectManager();
15+
/** @var Writer $configWriter */
16+
$configWriter = $objectManager->get(WriterInterface::class);
17+
18+
$configWriter->save('checkout/options/guest_checkout', 0);
19+
20+
$scopeConfig = $objectManager->get(ScopeConfigInterface::class);
21+
$scopeConfig->clean();
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
// TODO: Should be removed in scope of https://github.com/magento/graphql-ce/issues/167
7+
declare(strict_types=1);
8+
9+
use Magento\Framework\App\Config\Storage\Writer;
10+
use Magento\Framework\App\Config\Storage\WriterInterface;
11+
use Magento\TestFramework\Helper\Bootstrap;
12+
13+
$objectManager = Bootstrap::getObjectManager();
14+
/** @var Writer $configWriter */
15+
$configWriter = $objectManager->create(WriterInterface::class);
16+
17+
$configWriter->delete('checkout/options/guest_checkout');
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
// TODO: Should be removed in scope of https://github.com/magento/graphql-ce/issues/167
7+
declare(strict_types=1);
8+
9+
use Magento\Framework\App\Config\Storage\Writer;
10+
use Magento\Framework\App\Config\Storage\WriterInterface;
11+
use Magento\TestFramework\Helper\Bootstrap;
12+
use Magento\Framework\App\Config\ScopeConfigInterface;
13+
14+
$objectManager = Bootstrap::getObjectManager();
15+
/** @var Writer $configWriter */
16+
$configWriter = $objectManager->get(WriterInterface::class);
17+
18+
$configWriter->save('carriers/flatrate/active', 0);
19+
$configWriter->save('carriers/tablerate/active', 0);
20+
$configWriter->save('carriers/freeshipping/active', 0);
21+
22+
$scopeConfig = $objectManager->get(ScopeConfigInterface::class);
23+
$scopeConfig->clean();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
// TODO: Should be removed in scope of https://github.com/magento/graphql-ce/issues/167
7+
declare(strict_types=1);
8+
9+
use Magento\Framework\App\Config\Storage\Writer;
10+
use Magento\Framework\App\Config\Storage\WriterInterface;
11+
use Magento\TestFramework\Helper\Bootstrap;
12+
13+
$objectManager = Bootstrap::getObjectManager();
14+
/** @var Writer $configWriter */
15+
$configWriter = $objectManager->create(WriterInterface::class);
16+
17+
$configWriter->delete('carriers/flatrate/active');
18+
$configWriter->delete('carriers/tablerate/active');
19+
$configWriter->delete('carriers/freeshipping/active');
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
// TODO: Should be removed in scope of https://github.com/magento/graphql-ce/issues/167
7+
declare(strict_types=1);
8+
9+
use Magento\Framework\App\Config\Storage\Writer;
10+
use Magento\Framework\App\Config\Storage\WriterInterface;
11+
use Magento\TestFramework\Helper\Bootstrap;
12+
use Magento\Framework\App\Config\ScopeConfigInterface;
13+
14+
$objectManager = Bootstrap::getObjectManager();
15+
/** @var Writer $configWriter */
16+
$configWriter = $objectManager->get(WriterInterface::class);
17+
18+
$configWriter->save('payment/banktransfer/active', 1);
19+
$configWriter->save('payment/cashondelivery/active', 1);
20+
$configWriter->save('payment/checkmo/active', 1);
21+
$configWriter->save('payment/purchaseorder/active', 1);
22+
$configWriter->save('payment/authorizenet_acceptjs/active', 1);
23+
24+
$scopeConfig = $objectManager->get(ScopeConfigInterface::class);
25+
$scopeConfig->clean();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
// TODO: Should be removed in scope of https://github.com/magento/graphql-ce/issues/167
7+
declare(strict_types=1);
8+
9+
use Magento\Framework\App\Config\Storage\Writer;
10+
use Magento\Framework\App\Config\Storage\WriterInterface;
11+
use Magento\TestFramework\Helper\Bootstrap;
12+
13+
$objectManager = Bootstrap::getObjectManager();
14+
/** @var Writer $configWriter */
15+
$configWriter = $objectManager->create(WriterInterface::class);
16+
17+
$configWriter->delete('payment/banktransfer/active');
18+
$configWriter->delete('payment/cashondelivery/active');
19+
$configWriter->delete('payment/checkmo/active');
20+
$configWriter->delete('payment/purchaseorder/active');
21+
$configWriter->delete('payment/authorizenet_acceptjs/active');
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
// TODO: Should be removed in scope of https://github.com/magento/graphql-ce/issues/167
7+
declare(strict_types=1);
8+
9+
use Magento\Framework\App\Config\Storage\Writer;
10+
use Magento\Framework\App\Config\Storage\WriterInterface;
11+
use Magento\TestFramework\Helper\Bootstrap;
12+
use Magento\Framework\App\Config\ScopeConfigInterface;
13+
14+
$objectManager = Bootstrap::getObjectManager();
15+
/** @var Writer $configWriter */
16+
$configWriter = $objectManager->get(WriterInterface::class);
17+
18+
$configWriter->save('carriers/flatrate/active', 1);
19+
$configWriter->save('carriers/tablerate/active', 1);
20+
$configWriter->save('carriers/freeshipping/active', 1);
21+
22+
$scopeConfig = $objectManager->get(ScopeConfigInterface::class);
23+
$scopeConfig->clean();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<?php
2+
/**
3+
* Copyright © Magento, Inc. All rights reserved.
4+
* See COPYING.txt for license details.
5+
*/
6+
// TODO: Should be removed in scope of https://github.com/magento/graphql-ce/issues/167
7+
declare(strict_types=1);
8+
9+
use Magento\Framework\App\Config\Storage\Writer;
10+
use Magento\Framework\App\Config\Storage\WriterInterface;
11+
use Magento\TestFramework\Helper\Bootstrap;
12+
13+
$objectManager = Bootstrap::getObjectManager();
14+
/** @var Writer $configWriter */
15+
$configWriter = $objectManager->create(WriterInterface::class);
16+
17+
$configWriter->delete('carriers/flatrate/active');
18+
$configWriter->delete('carriers/tablerate/active');
19+
$configWriter->delete('carriers/freeshipping/active');

0 commit comments

Comments
 (0)