19 class PageTest extends \PHPUnit\Framework\TestCase
53 $this->eventManagerMock = $this->getMockBuilder(ManagerInterface::class)
54 ->disableOriginalConstructor()
56 $this->contextMock = $this->getMockBuilder(Context::class)
57 ->disableOriginalConstructor()
59 $this->resourcePageMock = $this->getMockBuilder(PageResource::class)
60 ->disableOriginalConstructor()
61 ->setMethods([
'getIdFieldName',
'checkIdentifier',
'getResources'])
63 $this->eventManagerMock = $this->getMockBuilder(ManagerInterface::class)
64 ->disableOriginalConstructor()
66 $this->resourcesMock = $this->getMockBuilder(AbstractResource::class)
67 ->setMethods([
'getIdFieldName',
'load',
'checkIdentifier'])
68 ->getMockForAbstractClass();
69 $this->scopeConfigMock = $this->getMockBuilder(ScopeConfigInterface::class)
70 ->getMockForAbstractClass();
72 $this->contextMock->expects($this->any())
73 ->method(
'getEventDispatcher')
74 ->willReturn($this->eventManagerMock);
75 $this->resourcePageMock->expects($this->any())
76 ->method(
'getResources')
77 ->willReturn($this->resourcesMock);
79 $objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
84 'context' => $this->contextMock,
85 'resource' => $this->resourcesMock,
91 $this->scopeConfigMock
100 $this->assertEquals($this->model, $this->model->noRoutePage());
110 $fetchOneResult =
'some result';
112 $this->resourcesMock->expects($this->atLeastOnce())
113 ->method(
'checkIdentifier')
115 ->willReturn($fetchOneResult);
117 $this->assertInternalType(
'string', $this->model->checkIdentifier($identifier,
$storeId));
126 $this->model->setId(1);
127 $this->model->setOrigData(
'identifier',
'no-route');
128 $this->model->setIdentifier(
'no-route2');
130 $this->scopeConfigMock->expects($this->once())
135 \
Magento\Cms\Helper\Page::XML_PATH_NO_ROUTE_PAGE,
143 $this->model->beforeSave();
152 $this->model->setId(1);
153 $this->model->setOrigData(
'identifier',
'home');
154 $this->model->setIdentifier(
'home2');
156 $this->scopeConfigMock->expects($this->atLeastOnce())
161 \
Magento\Cms\Helper\Page::XML_PATH_HOME_PAGE,
169 $this->model->beforeSave();
178 $this->model->setId(1);
179 $this->model->setOrigData(
'identifier',
'no-cookies');
180 $this->model->setIdentifier(
'no-cookies2');
182 $this->scopeConfigMock->expects($this->atLeastOnce())
187 \
Magento\Cms\Helper\Page::XML_PATH_NO_COOKIES_PAGE,
195 $this->model->beforeSave();
testBeforeSaveNoCookiesIdentifier()
testBeforeSaveHomeIdentifier()
testBeforeSave404Identifier()