diff --git a/dev/tests/integration/testsuite/Magento/Store/_files/second_website_with_base_second_currency.php b/dev/tests/integration/testsuite/Magento/Store/_files/second_website_with_base_second_currency.php new file mode 100644 index 0000000000000..3dc610c5fb943 --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Store/_files/second_website_with_base_second_currency.php @@ -0,0 +1,40 @@ +requireDataFixture('Magento/Store/_files/second_website_with_two_stores.php'); + +$objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager(); +/** @var WebsiteRepositoryInterface $websiteRepository */ +$websiteRepository = $objectManager->get(WebsiteRepositoryInterface::class); +$websiteId = $websiteRepository->get('test')->getId(); +/** @var \Magento\Config\Model\ResourceModel\Config $configResource */ +$configResource = $objectManager->get(\Magento\Config\Model\ResourceModel\Config::class); +$configResource->saveConfig( + \Magento\Directory\Model\Currency::XML_PATH_CURRENCY_BASE, + 'EUR', + \Magento\Store\Model\ScopeInterface::SCOPE_WEBSITES, + $websiteId +); +$configResource->saveConfig( + \Magento\Catalog\Helper\Data::XML_PATH_PRICE_SCOPE, + \Magento\Store\Model\Store::PRICE_SCOPE_WEBSITE, + 'default', + 0 +); + +/** + * Configuration cache clean is required to reload currency setting + */ +/** @var Magento\Config\App\Config\Type\System $config */ +$config = $objectManager->get(\Magento\Config\App\Config\Type\System::class); +$config->clean(); + +$observer = $objectManager->get(\Magento\Framework\Event\Observer::class); +$objectManager->get(\Magento\Catalog\Observer\SwitchPriceAttributeScopeOnConfigChange::class) + ->execute($observer); diff --git a/dev/tests/integration/testsuite/Magento/Store/_files/second_website_with_base_second_currency_rollback.php b/dev/tests/integration/testsuite/Magento/Store/_files/second_website_with_base_second_currency_rollback.php new file mode 100644 index 0000000000000..4fac07ae4f51f --- /dev/null +++ b/dev/tests/integration/testsuite/Magento/Store/_files/second_website_with_base_second_currency_rollback.php @@ -0,0 +1,28 @@ +get(\Magento\Config\Model\ResourceModel\Config::class); +$configResource->deleteConfig( + \Magento\Catalog\Helper\Data::XML_PATH_PRICE_SCOPE, + 'default', + 0 +); +$website = $objectManager->create(\Magento\Store\Model\Website::class); +/** @var $website \Magento\Store\Model\Website */ +$websiteId = $website->load('test', 'code')->getId(); +if ($websiteId) { + $configResource->deleteConfig( + \Magento\Directory\Model\Currency::XML_PATH_CURRENCY_BASE, + \Magento\Store\Model\ScopeInterface::SCOPE_WEBSITES, + $websiteId + ); +} + +Resolver::getInstance()->requireDataFixture('Magento/Store/_files/second_website_with_two_stores_rollback.php');