PageRenderTime 47ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/dev/tests/integration/testsuite/Magento/Framework/Message/ManagerTest.php

https://gitlab.com/crazybutterfly815/magento2
PHP | 115 lines | 77 code | 13 blank | 25 comment | 0 complexity | ca457968e8b339edab2aecd1eafed20a MD5 | raw file
  1. <?php
  2. /**
  3. * Copyright © 2016 Magento. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Framework\Message;
  7. /**
  8. * \Magento\Framework\Message\Manager test case
  9. */
  10. class ManagerTest extends \PHPUnit_Framework_TestCase
  11. {
  12. /**
  13. * @var \Magento\Framework\Message\Manager
  14. */
  15. protected $model;
  16. /**
  17. * @var \Magento\Framework\ObjectManagerInterface
  18. */
  19. protected $objectManager;
  20. public function setUp()
  21. {
  22. $this->objectManager = \Magento\TestFramework\Helper\Bootstrap::getObjectManager();
  23. $this->model = $this->objectManager->create(\Magento\Framework\Message\Manager::class);
  24. }
  25. /**
  26. * @magentoAppIsolation enabled
  27. */
  28. public function testAddMessage()
  29. {
  30. $errorMessage = $this->objectManager->create(\Magento\Framework\Message\Error::class, ['text' => 'some text']);
  31. $this->model->addMessage($errorMessage);
  32. $customGroup = 'custom-group';
  33. $errorMessageCustom = $this->objectManager->create(
  34. \Magento\Framework\Message\Error::class,
  35. ['text' => 'some custom group']
  36. );
  37. $this->model->addMessage($errorMessageCustom, $customGroup);
  38. $this->assertEquals($errorMessage, $this->model->getMessages()->getLastAddedMessage());
  39. $this->assertEquals(
  40. $errorMessageCustom,
  41. $this->model->getMessages(false, $customGroup)->getLastAddedMessage()
  42. );
  43. $this->assertEquals($errorMessageCustom, $this->model->getMessages(true, $customGroup)->getLastAddedMessage());
  44. $this->assertEmpty($this->model->getMessages(false, $customGroup)->getItems());
  45. $this->assertEmpty($this->model->getMessages(false, $customGroup)->getLastAddedMessage());
  46. }
  47. /**
  48. * @magentoAppIsolation enabled
  49. */
  50. public function testAddMessages()
  51. {
  52. $customGroup = 'custom-group';
  53. $messages = [
  54. $this->objectManager->create(\Magento\Framework\Message\Error::class, ['text' => 'some text 1']),
  55. $this->objectManager->create(\Magento\Framework\Message\Error::class, ['text' => 'some text 2']),
  56. $this->objectManager->create(\Magento\Framework\Message\Error::class, ['text' => 'some text 3']),
  57. $this->objectManager->create(\Magento\Framework\Message\Error::class, ['text' => 'some text 4']),
  58. ];
  59. $this->model->addMessages($messages);
  60. array_shift($messages);
  61. $this->model->addMessages($messages, $customGroup);
  62. $this->assertEquals(4, $this->model->getMessages()->getCount());
  63. $this->assertEquals(3, $this->model->getMessages(false, $customGroup)->getCount());
  64. }
  65. /**
  66. * @magentoAppIsolation enabled
  67. */
  68. public function testAddUniqueMessages()
  69. {
  70. $errorMessageFirst = $this->objectManager
  71. ->create(\Magento\Framework\Message\Error::class, ['text' => 'some text']);
  72. $errorMessageSecond = $this->objectManager
  73. ->create(\Magento\Framework\Message\Error::class, ['text' => 'some text']);
  74. $this->model->addUniqueMessages([$errorMessageFirst]);
  75. $this->model->addUniqueMessages([$errorMessageSecond]);
  76. $this->assertEquals(1, $this->model->getMessages()->getCount());
  77. $this->assertEquals(
  78. $errorMessageFirst->getText(),
  79. $this->model->getMessages()->getLastAddedMessage()->getText()
  80. );
  81. }
  82. /**
  83. * @magentoAppIsolation enabled
  84. */
  85. public function testAddError()
  86. {
  87. $customGroup = 'custom-group';
  88. $this->model->addError('some text');
  89. $this->model->addError('some text 2', $customGroup);
  90. $this->assertEquals(1, $this->model->getMessages()->getCount());
  91. $this->assertEquals(1, $this->model->getMessages()->getCountByType(MessageInterface::TYPE_ERROR));
  92. $this->assertEquals(0, $this->model->getMessages()->getCountByType(MessageInterface::TYPE_WARNING));
  93. $this->assertEquals(0, $this->model->getMessages()->getCountByType(MessageInterface::TYPE_NOTICE));
  94. $this->assertEquals(0, $this->model->getMessages()->getCountByType(MessageInterface::TYPE_SUCCESS));
  95. $this->assertEquals('some text', $this->model->getMessages()->getLastAddedMessage()->getText());
  96. $this->assertEquals(1, $this->model->getMessages(false, $customGroup)->getCount());
  97. $this->assertEquals(
  98. 'some text 2',
  99. $this->model->getMessages(false, $customGroup)->getLastAddedMessage()->getText()
  100. );
  101. }
  102. }