|
Apache/2.4.41 (Ubuntu) Linux vmi616275.contaboserver.net 5.4.0-84-generic #94-Ubuntu SMP Thu Aug 26 20:27:37 UTC 2021 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) server ip : 62.171.164.128 | your ip : 127.0.0.1 safemode OFF > / home / a / home / dev2.destoffenstraat.com / vendor / magento / framework / Message / Test / Unit / |
Filename | /home/a/home/dev2.destoffenstraat.com/vendor/magento/framework/Message/Test/Unit/CollectionTest.php |
Size | 7.51 kb |
Permission | rw-r--r-- |
Owner | root : root |
Create time | 21-Aug-2025 12:26 |
Last modified | 07-Jan-2021 21:08 |
Last accessed | 23-Aug-2025 08:48 |
Actions | edit | rename | delete | download (gzip) |
View | text | code | image |
<?php
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\Framework\Message\Test\Unit;
use Magento\Framework\Message\Collection;
use Magento\Framework\Message\Error;
use Magento\Framework\Message\MessageInterface;
use Magento\Framework\Message\Notice;
use Magento\Framework\Message\Success;
use Magento\Framework\Message\Warning;
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
use PHPUnit\Framework\TestCase;
/**
* \Magento\Framework\Message\Collection test case
*/
class CollectionTest extends TestCase
{
/**
* @var Collection
*/
protected $model;
/**
* @var ObjectManager
*/
protected $objectManager;
protected function setUp(): void
{
$this->objectManager = new ObjectManager($this);
$this->model = $this->objectManager->getObject(Collection::class);
}
/**
* @covers \Magento\Framework\Message\Collection::addMessage
* @covers \Magento\Framework\Message\Collection::getItemsByType
*/
public function testAddMessage()
{
$messages = [
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Error::class),
];
foreach ($messages as $message) {
$this->model->addMessage($message);
}
$this->assertEquals($messages, $this->model->getItemsByType(MessageInterface::TYPE_ERROR));
$this->assertEmpty($this->model->getItemsByType(MessageInterface::TYPE_SUCCESS));
$this->assertEmpty($this->model->getItemsByType(MessageInterface::TYPE_NOTICE));
$this->assertEmpty($this->model->getItemsByType(MessageInterface::TYPE_WARNING));
}
/**
* @covers \Magento\Framework\Message\Collection::addMessage
* @covers \Magento\Framework\Message\Collection::getItems
* @covers \Magento\Framework\Message\Collection::getLastAddedMessage
*/
public function testGetItems()
{
$messages = [
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Notice::class),
$this->objectManager->getObject(Notice::class),
$this->objectManager->getObject(Warning::class),
$this->objectManager->getObject(Warning::class),
$this->objectManager->getObject(Success::class),
];
foreach ($messages as $message) {
$this->model->addMessage($message);
}
$this->assertEquals($messages, $this->model->getItems());
$this->assertEquals(end($messages), $this->model->getLastAddedMessage());
}
/**
* @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(Error::class),
$this->objectManager->getObject(Notice::class),
$this->objectManager->getObject(Success::class),
$this->objectManager->getObject(Notice::class),
$this->objectManager->getObject(Success::class),
$this->objectManager->getObject(Warning::class),
$this->objectManager->getObject(Error::class),
];
$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->assertCount($this->model->getCount(), $messages);
foreach ($messageTypes as $type => $count) {
$messagesByType = $this->model->getItemsByType($type);
$this->assertEquals($count, $this->model->getCountByType($type));
$this->assertCount($count, $messagesByType);
/** @var MessageInterface $message */
foreach ($messagesByType as $message) {
$this->assertEquals($type, $message->getType());
}
}
}
/**
* @covers \Magento\Framework\Message\Collection::addMessage
* @covers \Magento\Framework\Message\Collection::getErrors
*/
public function testGetErrors()
{
$messages = [
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Notice::class),
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Warning::class),
$this->objectManager->getObject(Error::class),
];
foreach ($messages as $message) {
$this->model->addMessage($message);
}
$this->assertEquals($this->model->getItemsByType(MessageInterface::TYPE_ERROR), $this->model->getErrors());
$this->assertCount(4, $this->model->getErrors());
}
/**
* @covers \Magento\Framework\Message\Collection::getMessageByIdentifier
* @covers \Magento\Framework\Message\Collection::deleteMessageByIdentifier
*/
public function testGetMessageByIdentifier()
{
$messages = [
$this->objectManager->getObject(Error::class)->setIdentifier('error_id'),
$this->objectManager->getObject(Notice::class)->setIdentifier('notice_id'),
$this->objectManager->getObject(Warning::class)->setIdentifier('warning_id'),
];
foreach ($messages as $message) {
$this->model->addMessage($message);
}
$message = $this->model->getMessageByIdentifier('notice_id');
$this->assertEquals(MessageInterface::TYPE_NOTICE, $message->getType());
$this->assertEquals('notice_id', $message->getIdentifier());
$this->assertCount($this->model->getCount(), $messages);
$this->model->deleteMessageByIdentifier('notice_id');
$this->assertEquals(count($messages) - 1, $this->model->getCount());
$this->assertEmpty($this->model->getMessageByIdentifier('notice_id'));
}
/**
* @covers \Magento\Framework\Message\Collection::clear
*/
public function testClear()
{
$messages = [
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Warning::class),
$this->objectManager->getObject(Notice::class),
$this->objectManager->getObject(Success::class),
];
foreach ($messages as $message) {
$this->model->addMessage($message);
}
$this->assertCount($this->model->getCount(), $messages);
$this->model->clear();
$this->assertEmpty($this->model->getCount());
}
/**
* @covers \Magento\Framework\Message\Collection::clear
*/
public function testClearWithSticky()
{
$messages = [
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Warning::class),
$this->objectManager->getObject(Notice::class)->setIsSticky(true),
$this->objectManager->getObject(Success::class),
];
foreach ($messages as $message) {
$this->model->addMessage($message);
}
$this->assertCount($this->model->getCount(), $messages);
$this->model->clear();
$this->assertEquals(1, $this->model->getCount());
}
}
/**
* Copyright © Magento, Inc. All rights reserved.
* See COPYING.txt for license details.
*/
declare(strict_types=1);
namespace Magento\Framework\Message\Test\Unit;
use Magento\Framework\Message\Collection;
use Magento\Framework\Message\Error;
use Magento\Framework\Message\MessageInterface;
use Magento\Framework\Message\Notice;
use Magento\Framework\Message\Success;
use Magento\Framework\Message\Warning;
use Magento\Framework\TestFramework\Unit\Helper\ObjectManager;
use PHPUnit\Framework\TestCase;
/**
* \Magento\Framework\Message\Collection test case
*/
class CollectionTest extends TestCase
{
/**
* @var Collection
*/
protected $model;
/**
* @var ObjectManager
*/
protected $objectManager;
protected function setUp(): void
{
$this->objectManager = new ObjectManager($this);
$this->model = $this->objectManager->getObject(Collection::class);
}
/**
* @covers \Magento\Framework\Message\Collection::addMessage
* @covers \Magento\Framework\Message\Collection::getItemsByType
*/
public function testAddMessage()
{
$messages = [
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Error::class),
];
foreach ($messages as $message) {
$this->model->addMessage($message);
}
$this->assertEquals($messages, $this->model->getItemsByType(MessageInterface::TYPE_ERROR));
$this->assertEmpty($this->model->getItemsByType(MessageInterface::TYPE_SUCCESS));
$this->assertEmpty($this->model->getItemsByType(MessageInterface::TYPE_NOTICE));
$this->assertEmpty($this->model->getItemsByType(MessageInterface::TYPE_WARNING));
}
/**
* @covers \Magento\Framework\Message\Collection::addMessage
* @covers \Magento\Framework\Message\Collection::getItems
* @covers \Magento\Framework\Message\Collection::getLastAddedMessage
*/
public function testGetItems()
{
$messages = [
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Notice::class),
$this->objectManager->getObject(Notice::class),
$this->objectManager->getObject(Warning::class),
$this->objectManager->getObject(Warning::class),
$this->objectManager->getObject(Success::class),
];
foreach ($messages as $message) {
$this->model->addMessage($message);
}
$this->assertEquals($messages, $this->model->getItems());
$this->assertEquals(end($messages), $this->model->getLastAddedMessage());
}
/**
* @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(Error::class),
$this->objectManager->getObject(Notice::class),
$this->objectManager->getObject(Success::class),
$this->objectManager->getObject(Notice::class),
$this->objectManager->getObject(Success::class),
$this->objectManager->getObject(Warning::class),
$this->objectManager->getObject(Error::class),
];
$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->assertCount($this->model->getCount(), $messages);
foreach ($messageTypes as $type => $count) {
$messagesByType = $this->model->getItemsByType($type);
$this->assertEquals($count, $this->model->getCountByType($type));
$this->assertCount($count, $messagesByType);
/** @var MessageInterface $message */
foreach ($messagesByType as $message) {
$this->assertEquals($type, $message->getType());
}
}
}
/**
* @covers \Magento\Framework\Message\Collection::addMessage
* @covers \Magento\Framework\Message\Collection::getErrors
*/
public function testGetErrors()
{
$messages = [
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Notice::class),
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Warning::class),
$this->objectManager->getObject(Error::class),
];
foreach ($messages as $message) {
$this->model->addMessage($message);
}
$this->assertEquals($this->model->getItemsByType(MessageInterface::TYPE_ERROR), $this->model->getErrors());
$this->assertCount(4, $this->model->getErrors());
}
/**
* @covers \Magento\Framework\Message\Collection::getMessageByIdentifier
* @covers \Magento\Framework\Message\Collection::deleteMessageByIdentifier
*/
public function testGetMessageByIdentifier()
{
$messages = [
$this->objectManager->getObject(Error::class)->setIdentifier('error_id'),
$this->objectManager->getObject(Notice::class)->setIdentifier('notice_id'),
$this->objectManager->getObject(Warning::class)->setIdentifier('warning_id'),
];
foreach ($messages as $message) {
$this->model->addMessage($message);
}
$message = $this->model->getMessageByIdentifier('notice_id');
$this->assertEquals(MessageInterface::TYPE_NOTICE, $message->getType());
$this->assertEquals('notice_id', $message->getIdentifier());
$this->assertCount($this->model->getCount(), $messages);
$this->model->deleteMessageByIdentifier('notice_id');
$this->assertEquals(count($messages) - 1, $this->model->getCount());
$this->assertEmpty($this->model->getMessageByIdentifier('notice_id'));
}
/**
* @covers \Magento\Framework\Message\Collection::clear
*/
public function testClear()
{
$messages = [
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Warning::class),
$this->objectManager->getObject(Notice::class),
$this->objectManager->getObject(Success::class),
];
foreach ($messages as $message) {
$this->model->addMessage($message);
}
$this->assertCount($this->model->getCount(), $messages);
$this->model->clear();
$this->assertEmpty($this->model->getCount());
}
/**
* @covers \Magento\Framework\Message\Collection::clear
*/
public function testClearWithSticky()
{
$messages = [
$this->objectManager->getObject(Error::class),
$this->objectManager->getObject(Warning::class),
$this->objectManager->getObject(Notice::class)->setIsSticky(true),
$this->objectManager->getObject(Success::class),
];
foreach ($messages as $message) {
$this->model->addMessage($message);
}
$this->assertCount($this->model->getCount(), $messages);
$this->model->clear();
$this->assertEquals(1, $this->model->getCount());
}
}