public function testGetHrefByPageId() { $href = 'pagelink'; $this->mockCmsPage->expects($this->once())->method('getPageUrl')->willReturn($href); $this->linkElement->setData('page_id', 1); $this->assertEquals($href, $this->linkElement->getHref()); }
/** * {@inheritdoc} */ public function getItems() { $items = []; /** @var \Magento\Cms\Model\Page $page */ foreach ($this->collection as $page) { $items[] = ['title' => $page->getTitle(), 'url' => $this->pageHelper->getPageUrl($page->getIdentifier())]; } return $items; }
/** * Prepare page url. Use passed identifier * or retrieve such using passed page id. * * @return string */ public function getHref() { if (!$this->_href) { $this->_href = ''; if ($this->getData('href')) { $this->_href = $this->getData('href'); } elseif ($this->getData('page_id')) { $this->_href = $this->_cmsPage->getPageUrl($this->getData('page_id')); } } return $this->_href; }
/** * Modify no Cookies forward object * * @param \Magento\Framework\Event\Observer $observer * @return $this */ public function noCookies(\Magento\Framework\Event\Observer $observer) { $redirect = $observer->getEvent()->getRedirect(); $pageId = $this->_scopeConfig->getValue(\Magento\Cms\Helper\Page::XML_PATH_NO_COOKIES_PAGE, \Magento\Store\Model\ScopeInterface::SCOPE_STORE); $pageUrl = $this->_cmsPage->getPageUrl($pageId); if ($pageUrl) { $redirect->setRedirectUrl($pageUrl); } else { $redirect->setRedirect(true)->setPath('cms/index/noCookies')->setArguments(array()); } return $this; }
/** * @covers \Magento\Cms\Model\Observer::noCookies * @param string $pageUrl * @dataProvider noCookiesDataProvider */ public function testNoCookies($pageUrl) { $pageId = 1; $this->observerMock->expects($this->atLeastOnce())->method('getEvent')->willReturn($this->eventMock); $this->eventMock->expects($this->atLeastOnce())->method('getRedirect')->willReturn($this->objectMock); $this->scopeConfigMock->expects($this->atLeastOnce())->method('getValue')->with('web/default/cms_no_cookies', 'store')->willReturn($pageId); $this->cmsPageMock->expects($this->atLeastOnce())->method('getPageUrl')->with($pageId)->willReturn($pageUrl); $this->objectMock->expects($this->any())->method('setRedirectUrl')->with($pageUrl)->willReturnSelf(); $this->objectMock->expects($this->any())->method('setRedirect')->with(true)->willReturnSelf(); $this->objectMock->expects($this->any())->method('setPath')->with('cms/index/noCookies')->willReturnSelf(); $this->objectMock->expects($this->any())->method('setArguments')->with([])->willReturnSelf(); $this->assertEquals($this->this, $this->this->noCookies($this->observerMock)); }
/** * @covers \Magento\Cms\Helper\Page::getPageUrl * @param integer|null $pageId * @param integer|null $internalPageId * @param integer $pageLoadResultIndex * @param string|null $expectedResult * * @dataProvider getPageUrlDataProvider */ public function testGetPageUrl($pageId, $internalPageId, $pageLoadResultIndex, $expectedResult) { $storeId = 321; $pageIdentifier = 111; $url = '/some/url'; $pageLoadResultCollection = [null, $this->pageMock]; $this->pageFactoryMock->expects($this->any())->method('create')->willReturn($this->pageMock); $this->pageMock->expects($this->any())->method('getId')->willReturn($internalPageId); $this->storeManagerMock->expects($this->any())->method('getStore')->willReturn($this->storeMock); $this->storeMock->expects($this->any())->method('getId')->willReturn($storeId); $this->pageMock->expects($this->any())->method('setStoreId')->with($storeId)->willReturnSelf(); $this->pageMock->expects($this->any())->method('load')->with($pageId)->willReturn($pageLoadResultCollection[$pageLoadResultIndex]); $this->pageMock->expects($this->any())->method('getIdentifier')->willReturn($pageIdentifier); $this->urlBuilderMock->expects($this->any())->method('getUrl')->with(null, ['_direct' => $pageIdentifier])->willReturn($url); $this->assertEquals($expectedResult, $this->object->getPageUrl($pageId)); }