14 use Psr\Log\LoggerInterface;
67 private $exceptionMessageFactory;
71 $this->messagesFactory = $this->getMockBuilder(
72 \
Magento\Framework\Message\CollectionFactory::class
74 ->disableOriginalConstructor()
76 $this->messageFactory = $this->getMockBuilder(
77 \
Magento\Framework\Message\Factory::class
79 ->disableOriginalConstructor()
81 $this->session = $this->getMockBuilder(
82 \
Magento\Framework\Message\Session::class
84 ->disableOriginalConstructor()
86 [
'getData',
'setData']
89 $this->eventManager = $this->createMock(\
Magento\Framework\
Event\ManagerInterface::class);
90 $this->logger = $this->createMock(\Psr\Log\LoggerInterface::class);
92 $this->exceptionMessageFactory = $this->getMockBuilder(
93 \
Magento\Framework\Message\ExceptionMessageLookupFactory::class
95 ->disableOriginalConstructor()
98 $this->messageMock = $this->createMock(\
Magento\Framework\Message\MessageInterface::class);
99 $this->objectManager = new \Magento\Framework\TestFramework\Unit\Helper\ObjectManager($this);
102 $this->messageFactory,
103 $this->messagesFactory,
107 $this->exceptionMessageFactory
118 $messageCollection = $this->getMockBuilder(
119 \
Magento\Framework\Message\Collection::class
120 )->disableOriginalConstructor()->setMethods(
124 $this->messagesFactory->expects(
129 $this->returnValue($messageCollection)
132 $this->session->expects(
139 $this->returnValue(
null)
141 $this->session->expects(
149 $this->returnValue($this->session)
151 $this->session->expects(
158 $this->returnValue($messageCollection)
161 $this->eventManager->expects($this->never())->method(
'dispatch');
163 $this->assertEquals($messageCollection, $this->model->getMessages());
168 $messageCollection = $this->getMockBuilder(
169 \
Magento\Framework\Message\Collection::class
170 )->disableOriginalConstructor()->setMethods(
171 [
'addMessage',
'clear']
174 $messageCollection->expects($this->once())->method(
'clear');
176 $this->session->expects(
183 $this->returnValue($messageCollection)
186 $this->eventManager->expects($this->once())->method(
'dispatch')->with(
'session_abstract_clear_messages');
188 $this->assertEquals($messageCollection, $this->model->getMessages(
true));
193 $exceptionMessage =
'exception message';
194 $alternativeText =
'alternative text';
196 $this->logger->expects(
202 $messageError = $this->getMockBuilder(
203 \
Magento\Framework\Message\Error::class
204 )->setConstructorArgs(
205 [
'text' => $alternativeText]
208 $this->messageFactory->expects(
216 $this->returnValue($messageError)
219 $messageCollection = $this->getMockBuilder(
220 \
Magento\Framework\Message\Collection::class
221 )->disableOriginalConstructor()->setMethods(
224 $messageCollection->expects($this->atLeastOnce())->method(
'addMessage')->with($messageError);
226 $this->session->expects(
233 $this->returnValue($messageCollection)
236 $exception = new \Exception($exceptionMessage);
237 $this->assertEquals($this->model, $this->model->addException($exception, $alternativeText));
242 $exceptionMessage =
'exception message';
243 $exception = new \Exception($exceptionMessage);
245 $this->logger->expects(
251 $message = $this->createMock(\
Magento\Framework\Message\MessageInterface::class);
253 $this->messageFactory->expects(
259 $this->exceptionMessageFactory->expects(
269 $messageCollection = $this->getMockBuilder(
270 \
Magento\Framework\Message\Collection::class
271 )->disableOriginalConstructor()->setMethods(
274 $messageCollection->expects($this->atLeastOnce())->method(
'addMessage')->with(
$message);
276 $this->session->expects(
283 $this->returnValue($messageCollection)
286 $this->assertEquals($this->model, $this->model->addExceptionMessage($exception));
296 $this->assertFalse($this->model->hasMessages());
298 $messageCollection = $this->createPartialMock(\
Magento\Framework\Message\Collection::class, [
'addMessage']);
299 $this->session->expects($this->any())
301 ->will($this->returnValue($messageCollection));
302 $this->eventManager->expects($this->once())
303 ->method(
'dispatch')->with(
'session_abstract_add_message');
304 $this->messageFactory->expects($this->once())
306 ->will($this->returnValue($this->messageMock));
307 $this->model->$methodName(
$message,
'group');
308 $this->assertTrue($this->model->hasMessages());
332 $this->createPartialMock(\
Magento\Framework\Message\Collection::class, [
'getItems',
'addMessage']);
333 $this->session->expects($this->any())
335 ->will($this->returnValue($messageCollection));
337 ->expects($this->once())
340 $messageCollection->expects($this->$expectation())->method(
'addMessage');
341 $this->model->addUniqueMessages([$messages]);
350 'message_text_is_unique' => [
354 'message_text_already_exists' => [
368 $this->createPartialMock(\
Magento\Framework\Message\Collection::class, [
'getItems',
'addMessage']);
369 $this->session->expects($this->any())
371 ->will($this->returnValue($messageCollection));
373 ->expects($this->any())
375 ->will($this->returnValue([
'message']));
376 $messageCollection->expects($this->never())->method(
'addMessage');
377 $this->model->addUniqueMessages($messages);
386 'messages_are_text' => [[
'message']],
387 'messages_are_empty' => [[]]
394 $this->createPartialMock(\
Magento\Framework\Message\Collection::class, [
'getItems',
'addMessage']);
395 $this->session->expects($this->any())
397 ->will($this->returnValue($messageCollection));
398 $this->eventManager->expects($this->once())
399 ->method(
'dispatch')->with(
'session_abstract_add_message');
401 $messageCollection->expects($this->once())->method(
'addMessage')->with($this->messageMock);
402 $this->model->addMessages([$this->messageMock]);
testAddUniqueMessagesWhenMessagesImplementMessageInterface($messages, $expectation)
addUniqueMessagesDataProvider()
addUniqueMessagesWhenMessagesImplementMessageInterfaceDataProvider()
testGetMessagesWithClear()
testAddExceptionWithAlternativeText()
testAddMessage($type, $methodName)
testAddExceptionRenderable()
testAddUniqueMessages($messages)