36 $this->storeManager = $this->getMockBuilder(\
Magento\Store\Model\StoreManagerInterface::class)->getMock();
37 $this->urlBuilder = $this->createMock(\
Magento\Framework\UrlInterface::class);
38 $this->context = $this->createMock(\
Magento\Framework\View\Element\Template\Context::class);
39 $this->context->expects($this->any())->method(
'getStoreManager')->will($this->returnValue($this->storeManager));
40 $this->context->expects($this->any())->method(
'getUrlBuilder')->will($this->returnValue($this->urlBuilder));
41 $this->corePostDataHelper = $this->createMock(\
Magento\Framework\Data\Helper\PostHelper::class);
42 $this->store = $this->getMockBuilder(\
Magento\Store\Api\Data\StoreInterface::class)
43 ->disableOriginalConstructor()
44 ->getMockForAbstractClass();
46 \
Magento\Store\Block\Switcher::class,
48 'context' => $this->context,
49 'postDataHelper' => $this->corePostDataHelper,
59 $store = $this->getMockBuilder(\
Magento\Store\Model\Store::class)
60 ->disableOriginalConstructor()
62 $store->expects($this->any())
64 ->willReturn(
'new-store');
65 $storeSwitchUrl =
'http://domain.com/stores/store/redirect';
66 $store->expects($this->atLeastOnce())
67 ->method(
'getCurrentUrl')
69 ->willReturn($storeSwitchUrl);
70 $this->storeManager->expects($this->once())
72 ->willReturn($this->store);
73 $this->store->expects($this->once())
75 ->willReturn(
'old-store');
76 $this->urlBuilder->expects($this->once())
78 ->willReturn($storeSwitchUrl);
79 $this->corePostDataHelper->expects($this->any())
80 ->method(
'getPostData')
81 ->with($storeSwitchUrl, [
'___store' =>
'new-store',
'uenc' =>
null,
'___from_store' =>
'old-store']);
83 $this->switcher->getTargetStorePostData($store);
92 $storeMock = $this->createMock(\
Magento\Store\Model\Store::class);
94 $storeMock->expects($this->once())->method(
'isUseStoreInUrl')->will($this->returnValue($isUseStoreInUrl));
96 $this->storeManager->expects($this->any())->method(
'getStore')->will($this->returnValue($storeMock));
97 $this->assertEquals($this->switcher->isStoreInUrl(), $isUseStoreInUrl);
99 $this->assertEquals($this->switcher->isStoreInUrl(), $isUseStoreInUrl);
108 return [[
true], [
false]];
isStoreInUrlDataProvider()
testIsStoreInUrl($isUseStoreInUrl)
testGetTargetStorePostData()