6 declare(strict_types=1);
30 private $objectManager;
35 private $quoteRepository;
39 $this->objectManager = BootstrapHelper::getObjectManager();
40 $this->quoteRepository = $this->objectManager->create(CartRepositoryInterface::class);
51 public function testUpdateQuoteStoreAfterChangeStoreCookie()
53 $secondStoreCode =
'fixture_second_store';
54 $reservedOrderId =
'reserved_order_id';
57 $storeManager = $this->objectManager->get(StoreManagerInterface::class);
60 $quote = $this->getQuote($reservedOrderId);
64 'Current store id and quote store id are not match' 68 $checkoutSession = $this->objectManager->get(Session::class);
69 $checkoutSession->setQuoteId(
$quote->getId());
74 $storeCookieManager = $this->getStoreCookieManager(
$currentStore);
77 $updatedQuote = $this->getQuote($reservedOrderId);
80 $updatedQuote->getStoreId(),
81 'Active quote store id should be equal second store id' 91 private function getQuote(
string $reservedOrderId):
Quote 113 private function getStoreCookieManager(StoreInterface
$currentStore): StoreCookieManagerInterface
116 $storeCookieManager = $this->objectManager->get(StoreCookieManagerInterface::class);
117 $cookieManagerMock = $this->getMockBuilder(\
Magento\Framework\Stdlib\Cookie\PhpCookieManager::class)
118 ->disableOriginalConstructor()
120 $cookieManagerMock->method(
'getCookie')
123 $reflection = new \ReflectionClass($storeCookieManager);
124 $cookieManager = $reflection->getProperty(
'cookieManager');
125 $cookieManager->setAccessible(
true);
126 $cookieManager->setValue($storeCookieManager, $cookieManagerMock);
128 return $storeCookieManager;