Skip to content

Commit 7160d09

Browse files
authored
TE-10886 Dynamic store. (#9457)
TE-10886 Release Dynamic Store
1 parent 84021fb commit 7160d09

File tree

7 files changed

+35
-23
lines changed

7 files changed

+35
-23
lines changed

architecture-baseline.json

+7
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,13 @@
5555
"ruleset": "Spryker",
5656
"priority": "2"
5757
},
58+
{
59+
"fileName": "src/Spryker/Zed/Sales/Dependency/Facade/SalesToCountryInterface.php",
60+
"description": "Bridges: The bridge interface has incorrect method signature for `getCountryByIso2Code()`. Got `$iso2Code` but expected to be `string $iso2Code`. That violates the rule \"All bridge interface methods must have exactly the same or more strict signature as their parent\"",
61+
"rule": "BridgeMethodsInterfaceRule",
62+
"ruleset": "Spryker",
63+
"priority": "2"
64+
},
5865
{
5966
"fileName": "src/Spryker/Zed/Sales/Dependency/Facade/SalesToCustomerBridge.php",
6067
"description": "Bridges: Type should be defined for param `customerReference` in method `Spryker\\Zed\\Sales\\Dependency\\Facade\\SalesToCustomerBridge::findByReference()`.",

composer.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@
88
"spryker/acl-merchant-portal-extension": "^1.0.0",
99
"spryker/calculation": "^4.0.0",
1010
"spryker/checkout-extension": "^1.2.0",
11-
"spryker/country": "^3.1.0",
11+
"spryker/country": "^3.1.0 || ^4.0.0",
1212
"spryker/customer": "^6.5.0 || ^7.0.0",
1313
"spryker/gui": "^3.39.0",
1414
"spryker/kernel": "^3.33.0",
15-
"spryker/locale": "^3.0.0",
15+
"spryker/locale": "^3.0.0 || ^4.0.0",
1616
"spryker/money": "^2.0.0",
1717
"spryker/oms": "^10.3.0 || ^11.0.0",
1818
"spryker/propel": "^3.0.0",
@@ -35,6 +35,7 @@
3535
"spryker/checkout": "*",
3636
"spryker/code-sniffer": "*",
3737
"spryker/config": "*",
38+
"spryker/container": "*",
3839
"spryker/price": "*",
3940
"spryker/product": "*",
4041
"spryker/shipment": "*",

src/Spryker/Zed/Sales/Business/Model/Order/SalesOrderSaver.php

+8-8
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,11 @@
1414
use Generated\Shared\Transfer\SaveOrderTransfer;
1515
use Generated\Shared\Transfer\SpySalesOrderEntityTransfer;
1616
use Generated\Shared\Transfer\SpySalesOrderItemEntityTransfer;
17+
use Orm\Zed\Locale\Persistence\SpyLocaleQuery;
1718
use Orm\Zed\Sales\Persistence\SpySalesOrder;
1819
use Orm\Zed\Sales\Persistence\SpySalesOrderAddress;
1920
use Orm\Zed\Sales\Persistence\SpySalesOrderItem;
2021
use Orm\Zed\Sales\Persistence\SpySalesOrderTotals;
21-
use Spryker\Zed\Locale\Persistence\LocaleQueryContainerInterface;
2222
use Spryker\Zed\PropelOrm\Business\Transaction\DatabaseTransactionHandlerTrait;
2323
use Spryker\Zed\Sales\Business\StateMachineResolver\OrderStateMachineResolverInterface;
2424
use Spryker\Zed\Sales\Dependency\Facade\SalesToCountryInterface;
@@ -56,9 +56,9 @@ class SalesOrderSaver implements SalesOrderSaverInterface
5656
protected $salesConfiguration;
5757

5858
/**
59-
* @var \Spryker\Zed\Locale\Persistence\LocaleQueryContainerInterface
59+
* @var \Orm\Zed\Locale\Persistence\SpyLocaleQuery
6060
*/
61-
protected $localeQueryContainer;
61+
protected $localePropelQuery;
6262

6363
/**
6464
* @var array<\Spryker\Zed\Sales\Dependency\Plugin\OrderExpanderPreSavePluginInterface>
@@ -100,7 +100,7 @@ class SalesOrderSaver implements SalesOrderSaverInterface
100100
* @param \Spryker\Zed\Sales\Dependency\Facade\SalesToOmsInterface $omsFacade
101101
* @param \Spryker\Zed\Sales\Business\Model\Order\OrderReferenceGeneratorInterface $orderReferenceGenerator
102102
* @param \Spryker\Zed\Sales\SalesConfig $salesConfiguration
103-
* @param \Spryker\Zed\Locale\Persistence\LocaleQueryContainerInterface $localeQueryContainer
103+
* @param \Orm\Zed\Locale\Persistence\SpyLocaleQuery $localePropelQuery
104104
* @param array<\Spryker\Zed\Sales\Dependency\Plugin\OrderExpanderPreSavePluginInterface> $orderExpanderPreSavePlugins
105105
* @param \Spryker\Zed\Sales\Business\Model\Order\SalesOrderSaverPluginExecutorInterface $salesOrderSaverPluginExecutor
106106
* @param \Spryker\Zed\Sales\Persistence\Propel\Mapper\SalesOrderItemMapperInterface $salesOrderItemMapper
@@ -114,7 +114,7 @@ public function __construct(
114114
SalesToOmsInterface $omsFacade,
115115
OrderReferenceGeneratorInterface $orderReferenceGenerator,
116116
SalesConfig $salesConfiguration,
117-
LocaleQueryContainerInterface $localeQueryContainer,
117+
SpyLocaleQuery $localePropelQuery,
118118
$orderExpanderPreSavePlugins,
119119
SalesOrderSaverPluginExecutorInterface $salesOrderSaverPluginExecutor,
120120
SalesOrderItemMapperInterface $salesOrderItemMapper,
@@ -127,7 +127,7 @@ public function __construct(
127127
$this->omsFacade = $omsFacade;
128128
$this->orderReferenceGenerator = $orderReferenceGenerator;
129129
$this->salesConfiguration = $salesConfiguration;
130-
$this->localeQueryContainer = $localeQueryContainer;
130+
$this->localePropelQuery = $localePropelQuery;
131131
$this->orderExpanderPreSavePlugins = $orderExpanderPreSavePlugins;
132132
$this->salesOrderSaverPluginExecutor = $salesOrderSaverPluginExecutor;
133133
$this->salesOrderItemMapper = $salesOrderItemMapper;
@@ -247,8 +247,8 @@ protected function hydrateAddresses(QuoteTransfer $quoteTransfer, SpySalesOrder
247247
protected function addLocale(SpySalesOrder $salesOrderEntity)
248248
{
249249
$localeTransfer = $this->localeFacade->getCurrentLocale();
250-
$localeEntity = $this->localeQueryContainer
251-
->queryLocaleByName($localeTransfer->getLocaleNameOrFail())
250+
$localeEntity = $this->localePropelQuery
251+
->filterByLocaleName($localeTransfer->getLocaleNameOrFail())
252252
->findOne();
253253

254254
if ($localeEntity) {

src/Spryker/Zed/Sales/Business/SalesBusinessFactory.php

+6-5
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
namespace Spryker\Zed\Sales\Business;
99

10+
use Orm\Zed\Locale\Persistence\SpyLocaleQuery;
1011
use Spryker\Zed\Kernel\Business\AbstractBusinessFactory;
1112
use Spryker\Zed\Sales\Business\Address\OrderAddressWriter;
1213
use Spryker\Zed\Sales\Business\Address\OrderAddressWriterInterface;
@@ -154,7 +155,7 @@ public function createOrderSaver()
154155
$this->getOmsFacade(),
155156
$this->createReferenceGenerator(),
156157
$this->getConfig(),
157-
$this->getLocaleQueryContainer(),
158+
$this->getLocalePropelQuery(),
158159
$this->getOrderExpanderPreSavePlugins(),
159160
$this->createSalesOrderSaverPluginExecutor(),
160161
$this->createSalesOrderItemMapper(),
@@ -175,7 +176,7 @@ public function createSalesOrderSaver()
175176
$this->getOmsFacade(),
176177
$this->createReferenceGenerator(),
177178
$this->getConfig(),
178-
$this->getLocaleQueryContainer(),
179+
$this->getLocalePropelQuery(),
179180
$this->getOrderExpanderPreSavePlugins(),
180181
$this->createSalesOrderSaverPluginExecutor(),
181182
$this->createSalesOrderItemMapper(),
@@ -490,11 +491,11 @@ protected function getCountryFacade()
490491
}
491492

492493
/**
493-
* @return \Spryker\Zed\Locale\Persistence\LocaleQueryContainerInterface
494+
* @return \Orm\Zed\Locale\Persistence\SpyLocaleQuery
494495
*/
495-
public function getLocaleQueryContainer()
496+
public function getLocalePropelQuery(): SpyLocaleQuery
496497
{
497-
return $this->getProvidedDependency(SalesDependencyProvider::QUERY_CONTAINER_LOCALE);
498+
return $this->getProvidedDependency(SalesDependencyProvider::PROPEL_QUERY_LOCALE);
498499
}
499500

500501
/**

src/Spryker/Zed/Sales/SalesDependencyProvider.php

+7-6
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
namespace Spryker\Zed\Sales;
99

10+
use Orm\Zed\Locale\Persistence\SpyLocaleQuery;
1011
use Spryker\Zed\Kernel\AbstractBundleDependencyProvider;
1112
use Spryker\Zed\Kernel\Container;
1213
use Spryker\Zed\Sales\Dependency\Facade\SalesToCalculationBridge;
@@ -73,7 +74,7 @@ class SalesDependencyProvider extends AbstractBundleDependencyProvider
7374
/**
7475
* @var string
7576
*/
76-
public const QUERY_CONTAINER_LOCALE = 'QUERY_CONTAINER_LOCALE';
77+
public const PROPEL_QUERY_LOCALE = 'PROPEL_QUERY_LOCALE';
7778

7879
/**
7980
* @var string
@@ -170,7 +171,7 @@ public function provideBusinessLayerDependencies(Container $container): Containe
170171
$container = $this->addStoreFacade($container);
171172
$container = $this->addSequenceNumberFacade($container);
172173
$container = $this->addOmsFacade($container);
173-
$container = $this->addLocaleQueryContainer($container);
174+
$container = $this->addLocalePropelQuery($container);
174175
$container = $this->addOrderExpanderPreSavePlugins($container);
175176
$container = $this->addHydrateOrderPlugins($container);
176177
$container = $this->addCalculationFacade($container);
@@ -411,11 +412,11 @@ protected function addDateTimeFormatter(Container $container)
411412
*
412413
* @return \Spryker\Zed\Kernel\Container
413414
*/
414-
protected function addLocaleQueryContainer(Container $container)
415+
protected function addLocalePropelQuery(Container $container)
415416
{
416-
$container->set(static::QUERY_CONTAINER_LOCALE, function (Container $container) {
417-
return $container->getLocator()->locale()->queryContainer();
418-
});
417+
$container->set(static::PROPEL_QUERY_LOCALE, $container->factory(function (Container $container) {
418+
return SpyLocaleQuery::create();
419+
}));
419420

420421
return $container;
421422
}

tests/SprykerTest/Zed/Sales/Business/SalesFacadeSaveOrderTest.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
use Generated\Shared\Transfer\TaxTotalTransfer;
2525
use Generated\Shared\Transfer\TotalsTransfer;
2626
use Orm\Zed\Country\Persistence\SpyCountry;
27+
use Orm\Zed\Locale\Persistence\SpyLocaleQuery;
2728
use Orm\Zed\Oms\Persistence\SpyOmsOrderItemStateQuery;
2829
use Orm\Zed\Oms\Persistence\SpyOmsOrderProcess;
2930
use Orm\Zed\Oms\Persistence\SpyOmsOrderProcessQuery;
@@ -34,7 +35,6 @@
3435
use Spryker\Shared\Price\PriceMode;
3536
use Spryker\Zed\Kernel\Container;
3637
use Spryker\Zed\Locale\Business\LocaleFacade;
37-
use Spryker\Zed\Locale\Persistence\LocaleQueryContainer;
3838
use Spryker\Zed\Oms\OmsConfig;
3939
use Spryker\Zed\Sales\Business\SalesBusinessFactory;
4040
use Spryker\Zed\Sales\Business\SalesFacade;
@@ -118,7 +118,7 @@ protected function setUp(): void
118118
$container[SalesDependencyProvider::FACADE_COUNTRY] = new SalesToCountryBridge($countryFacadeMock);
119119
$container[SalesDependencyProvider::FACADE_OMS] = new SalesToOmsBridge($omsFacadeMock);
120120
$container[SalesDependencyProvider::FACADE_SEQUENCE_NUMBER] = new SalesToSequenceNumberBridge($sequenceNumberFacade);
121-
$container[SalesDependencyProvider::QUERY_CONTAINER_LOCALE] = new LocaleQueryContainer();
121+
$container[SalesDependencyProvider::PROPEL_QUERY_LOCALE] = new SpyLocaleQuery();
122122
$container[SalesDependencyProvider::FACADE_STORE] = new SalesToStoreBridge(new StoreFacade());
123123
$container[SalesDependencyProvider::FACADE_LOCALE] = new SalesToLocaleBridge(new LocaleFacade());
124124
$container[SalesDependencyProvider::ORDER_EXPANDER_PRE_SAVE_PLUGINS] = [];

tests/SprykerTest/Zed/Sales/codeception.yml

+2
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ suites:
3131
- \SprykerTest\Zed\Sales\Helper\BusinessHelper
3232
- \SprykerTest\Shared\Sales\Helper\SalesDataHelper
3333
- \SprykerTest\Shared\Customer\Helper\CustomerDataHelper
34+
- \SprykerTest\Service\Container\Helper\ContainerHelper
35+
- \SprykerTest\Shared\Store\Helper\StoreDependencyHelper
3436
- \SprykerTest\Shared\Store\Helper\StoreDataHelper
3537

3638
Communication:

0 commit comments

Comments
 (0)