public function testGetSectionData() { $msgType = 'error'; $msgText = 'All is lost'; $msg = $this->getMockBuilder('Magento\\Framework\\Message\\MessageInterface')->getMock(); $messages = [$msg]; $msgCollection = $this->getMockBuilder('Magento\\Framework\\Message\\Collection')->getMock(); $msg->expects($this->once())->method('getType')->willReturn($msgType); $this->messageInterpretationStrategy->expects(static::once())->method('interpret')->with($msg)->willReturn($msgText); $this->messageManager->expects($this->once())->method('getMessages')->with(true, null)->willReturn($msgCollection); $msgCollection->expects($this->once())->method('getItems')->willReturn($messages); $this->assertEquals(['messages' => [['type' => $msgType, 'text' => $msgText]]], $this->object->getSectionData()); }
public function testAfterRenderResultWithWrongArray() { $messageType = 'message1type'; $messageText = 'message1text'; $messages = [['type' => $messageType, 'text' => $messageText]]; /** @var Redirect|\PHPUnit_Framework_MockObject_MockObject $resultMock */ $resultMock = $this->getMockBuilder(Redirect::class)->disableOriginalConstructor()->getMock(); /** @var PublicCookieMetadata|\PHPUnit_Framework_MockObject_MockObject $cookieMetadataMock */ $cookieMetadataMock = $this->getMockBuilder(PublicCookieMetadata::class)->disableOriginalConstructor()->getMock(); $this->cookieMetadataFactoryMock->expects($this->once())->method('createPublicCookieMetadata')->willReturn($cookieMetadataMock); $this->cookieManagerMock->expects($this->once())->method('setPublicCookie')->with(MessagePlugin::MESSAGES_COOKIES_NAME, \Zend_Json::encode($messages), $cookieMetadataMock); $this->cookieManagerMock->expects($this->once())->method('getCookie')->with(MessagePlugin::MESSAGES_COOKIES_NAME, \Zend_Json::encode([]))->willReturn(\Zend_Json::encode('string')); $this->dataMock->expects($this->any())->method('jsonDecode')->willReturnCallback(function ($data) { return \Zend_Json::decode($data); }); $this->dataMock->expects($this->any())->method('jsonEncode')->willReturnCallback(function ($data) { return \Zend_Json::encode($data); }); /** @var MessageInterface|\PHPUnit_Framework_MockObject_MockObject $messageMock */ $messageMock = $this->getMockBuilder(MessageInterface::class)->getMock(); $messageMock->expects($this->once())->method('getType')->willReturn($messageType); $this->interpretationStrategyMock->expects($this->once())->method('interpret')->with($messageMock)->willReturn($messageText); /** @var Collection|\PHPUnit_Framework_MockObject_MockObject $collectionMock */ $collectionMock = $this->getMockBuilder(Collection::class)->disableOriginalConstructor()->getMock(); $collectionMock->expects($this->once())->method('getItems')->willReturn([$messageMock]); $this->managerMock->expects($this->once())->method('getMessages')->with(true, null)->willReturn($collectionMock); $this->assertEquals($resultMock, $this->model->afterRenderResult($resultMock, $resultMock)); }
public function testGetGroupedHtml() { $this->messages->setNameInLayout('nameInLayout'); $resultHtml = '<div class="messages">'; $resultHtml .= '<div class="message message-error error"><div data-ui-id="nameinlayout-message-error" >'; $resultHtml .= 'Error message without HTML!'; $resultHtml .= '</div></div>'; $resultHtml .= '<div class="message message-warning warning"><div data-ui-id="nameinlayout-message-warning" >'; $resultHtml .= 'Warning message with <strong>HTML</strong>!'; $resultHtml .= '</div></div>'; $resultHtml .= '<div class="message message-warning warning"><div data-ui-id="nameinlayout-message-warning" >'; $resultHtml .= 'Warning message with <strong>HTML</strong>!'; $resultHtml .= '</div></div>'; $resultHtml .= '<div class="message message-notice notice"><div data-ui-id="nameinlayout-message-notice" >'; $resultHtml .= 'Notice message without HTML!'; $resultHtml .= '</div></div>'; $resultHtml .= '<div class="message message-notice notice"><div data-ui-id="nameinlayout-message-notice" >'; $resultHtml .= 'Notice message without HTML!'; $resultHtml .= '</div></div>'; $resultHtml .= '<div class="message message-notice notice"><div data-ui-id="nameinlayout-message-notice" >'; $resultHtml .= 'Notice message without HTML!'; $resultHtml .= '</div></div>'; $resultHtml .= '<div class="message message-success success"><div data-ui-id="nameinlayout-message-success" >'; $resultHtml .= 'Success message with <strong>HTML</strong>!'; $resultHtml .= '</div></div>'; $resultHtml .= '<div class="message message-success success"><div data-ui-id="nameinlayout-message-success" >'; $resultHtml .= 'Success message with <strong>HTML</strong>!'; $resultHtml .= '</div></div>'; $resultHtml .= '<div class="message message-success success"><div data-ui-id="nameinlayout-message-success" >'; $resultHtml .= 'Success message with <strong>HTML</strong>!'; $resultHtml .= '</div></div>'; $resultHtml .= '<div class="message message-success success"><div data-ui-id="nameinlayout-message-success" >'; $resultHtml .= 'Success message with <strong>HTML</strong>!'; $resultHtml .= '</div></div>'; $resultHtml .= '</div>'; $errorMock = $this->getMockBuilder('Magento\\Framework\\Message\\MessageInterface')->getMockForAbstractClass(); $warningMock = $this->getMockBuilder('Magento\\Framework\\Message\\MessageInterface')->getMockForAbstractClass(); $noticeMock = $this->getMockBuilder('Magento\\Framework\\Message\\MessageInterface')->getMockForAbstractClass(); $successMock = $this->getMockBuilder('Magento\\Framework\\Message\\MessageInterface')->getMockForAbstractClass(); $this->messageInterpretationStrategy->expects(static::any())->method('interpret')->willReturnMap([[$errorMock, 'Error message without HTML!'], [$warningMock, 'Warning message with <strong>HTML</strong>!'], [$noticeMock, 'Notice message without HTML!'], [$successMock, 'Success message with <strong>HTML</strong>!']]); $collectionMock = $this->initMessageCollection(); $collectionMock->expects($this->exactly(4))->method('getItemsByType')->willReturnMap([[MessageInterface::TYPE_ERROR, [$errorMock]], [MessageInterface::TYPE_WARNING, [$warningMock, $warningMock]], [MessageInterface::TYPE_NOTICE, [$noticeMock, $noticeMock, $noticeMock]], [MessageInterface::TYPE_SUCCESS, [$successMock, $successMock, $successMock, $successMock]]]); $this->assertEquals($resultHtml, $this->messages->getGroupedHtml()); }