/** * @covers \Magento\Framework\Message\Collection::addMessage * @covers \Magento\Framework\Message\Collection::getItemsByType * @covers \Magento\Framework\Message\Collection::getCount * @covers \Magento\Framework\Message\Collection::getCountByType */ public function testGetItemsByType() { $messages = [$this->objectManager->getObject('Magento\\Framework\\Message\\Error'), $this->objectManager->getObject('Magento\\Framework\\Message\\Notice'), $this->objectManager->getObject('Magento\\Framework\\Message\\Success'), $this->objectManager->getObject('Magento\\Framework\\Message\\Notice'), $this->objectManager->getObject('Magento\\Framework\\Message\\Success'), $this->objectManager->getObject('Magento\\Framework\\Message\\Warning'), $this->objectManager->getObject('Magento\\Framework\\Message\\Error')]; $messageTypes = [MessageInterface::TYPE_SUCCESS => 2, MessageInterface::TYPE_NOTICE => 2, MessageInterface::TYPE_WARNING => 1, MessageInterface::TYPE_ERROR => 2]; foreach ($messages as $message) { $this->model->addMessage($message); } $this->assertEquals(count($messages), $this->model->getCount()); foreach ($messageTypes as $type => $count) { $messagesByType = $this->model->getItemsByType($type); $this->assertEquals($count, $this->model->getCountByType($type)); $this->assertEquals($count, count($messagesByType)); /** @var MessageInterface $message */ foreach ($messagesByType as $message) { $this->assertEquals($type, $message->getType()); } } }