‪TYPO3CMS  11.5
FlashMessageQueueTest.php
Go to the documentation of this file.
1 <?php
2 
3 declare(strict_types=1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU General Public License, either version 2
10  * of the License, or any later version.
11  *
12  * For the full copyright and license information, please read the
13  * LICENSE.txt file that was distributed with this source code.
14  *
15  * The TYPO3 project - inspiring people to share!
16  */
17 
19 
22 use TYPO3\TestingFramework\Core\Functional\FunctionalTestCase;
23 
27 class ‪FlashMessageQueueTest extends FunctionalTestCase
28 {
33  {
34  $this->setUpBackendUserFromFixture(1);
35  $flashMessage = new ‪FlashMessage('Foo', 'Bar', ‪FlashMessage::OK, true);
36  $flashMessageQueue = new ‪FlashMessageQueue('core.template.flashMessages');
37  $flashMessageQueue->addMessage($flashMessage);
38  self::assertEquals([$flashMessage], $flashMessageQueue->getAllMessages());
39  }
40 
44  public function ‪messagesCanBeFilteredBySeverity(): void
45  {
46  $this->setUpBackendUserFromFixture(1);
47  $flashMessageQueue = new ‪FlashMessageQueue('core.template.flashMessages');
48  $messages = [
49  0 => new ‪FlashMessage('This is a test message', '1', ‪FlashMessage::NOTICE),
50  1 => new ‪FlashMessage('This is another test message', '2', ‪FlashMessage::WARNING),
51  ];
52  $flashMessageQueue->enqueue($messages[0]);
53  $flashMessageQueue->enqueue($messages[1]);
54 
55  $filteredFlashMessages = $flashMessageQueue->getAllMessages(‪FlashMessage::NOTICE);
56 
57  self::assertCount(1, $filteredFlashMessages);
58 
59  reset($filteredFlashMessages);
60  $flashMessage = current($filteredFlashMessages);
61  self::assertEquals($messages[0], $flashMessage);
62  }
63 
68  {
69  $this->setUpBackendUserFromFixture(1);
70  $flashMessage = new ‪FlashMessage('Foo', 'Bar', ‪FlashMessage::OK, true);
71  $flashMessageQueue = new ‪FlashMessageQueue('core.template.flashMessages');
72  $flashMessageQueue->addMessage($flashMessage);
73  self::assertEquals([$flashMessage], $flashMessageQueue->getAllMessagesAndFlush());
74  }
75 
80  {
81  $this->setUpBackendUserFromFixture(1);
82  $flashMessage = new ‪FlashMessage('Foo', 'Bar', ‪FlashMessage::OK, true);
83  $flashMessageQueue = new ‪FlashMessageQueue('core.template.flashMessages');
84  $flashMessageQueue->addMessage($flashMessage);
85  $flashMessageQueue->getAllMessagesAndFlush();
86  self::assertEquals([], $flashMessageQueue->getAllMessagesAndFlush());
87  }
88 
93  {
94  $this->setUpBackendUserFromFixture(1);
95  $flashMessageQueue = new ‪FlashMessageQueue('core.template.flashMessages');
96  $messages = [
97  0 => new ‪FlashMessage('This is a test message', '1', ‪FlashMessage::NOTICE),
98  1 => new ‪FlashMessage('This is another test message', '2', ‪FlashMessage::WARNING),
99  ];
100  $flashMessageQueue->addMessage($messages[0]);
101  $flashMessageQueue->addMessage($messages[1]);
102 
103  $filteredFlashMessages = $flashMessageQueue->getAllMessagesAndFlush(‪FlashMessage::NOTICE);
104 
105  self::assertCount(1, $filteredFlashMessages);
106 
107  reset($filteredFlashMessages);
108  $flashMessage = current($filteredFlashMessages);
109  self::assertEquals($messages[0], $flashMessage);
110 
111  self::assertEquals([], $flashMessageQueue->getAllMessages(‪FlashMessage::NOTICE));
112  self::assertEquals([$messages[1]], array_values($flashMessageQueue->getAllMessages()));
113  }
114 
119  {
120  $this->setUpBackendUserFromFixture(1);
121  $flashMessageQueue = new ‪FlashMessageQueue('core.template.flashMessages');
122  $flashMessage1 = new ‪FlashMessage('Transient', 'Title', ‪FlashMessage::OK, false);
123  $flashMessage2 = new ‪FlashMessage('Session', 'Title', ‪FlashMessage::OK, true);
124  $flashMessageQueue->addMessage($flashMessage1);
125  $flashMessageQueue->addMessage($flashMessage2);
126 
127  self::assertCount(2, $flashMessageQueue->getAllMessages());
128  }
129 
133  public function ‪clearClearsTheQueue(): void
134  {
135  $this->setUpBackendUserFromFixture(1);
136  $flashMessage = new ‪FlashMessage('Foo', 'Bar', ‪FlashMessage::OK, true);
137  $flashMessageQueue = new ‪FlashMessageQueue('core.template.flashMessages');
138  $flashMessageQueue->addMessage($flashMessage);
139  $flashMessageQueue->clear();
140  self::assertCount(0, $flashMessageQueue);
141  }
142 
147  {
148  $this->setUpBackendUserFromFixture(1);
149  $flashMessageQueue = new ‪FlashMessageQueue('core.template.flashMessages');
150  $flashMessage1 = new ‪FlashMessage('Transient', 'Title', ‪FlashMessage::OK, false);
151  $flashMessage2 = new ‪FlashMessage('Session', 'Title', ‪FlashMessage::OK, true);
152  $flashMessageQueue->addMessage($flashMessage1);
153  $flashMessageQueue->addMessage($flashMessage2);
154 
155  self::assertCount(1, $flashMessageQueue);
156  }
157 }
‪TYPO3\CMS\Core\Tests\Functional\Messaging\FlashMessageQueueTest\getAllMessagesContainsEnqueuedMessage
‪getAllMessagesContainsEnqueuedMessage()
Definition: FlashMessageQueueTest.php:32
‪TYPO3\CMS\Core\Tests\Functional\Messaging\FlashMessageQueueTest\toArrayOnlyRespectsTransientFlashMessages
‪toArrayOnlyRespectsTransientFlashMessages()
Definition: FlashMessageQueueTest.php:146
‪TYPO3\CMS\Core\Tests\Functional\Messaging\FlashMessageQueueTest\getAllMessagesAndFlushClearsSessionStack
‪getAllMessagesAndFlushClearsSessionStack()
Definition: FlashMessageQueueTest.php:79
‪TYPO3\CMS\Core\Tests\Functional\Messaging
Definition: FlashMessageQueueTest.php:18
‪TYPO3\CMS\Core\Tests\Functional\Messaging\FlashMessageQueueTest\getMessagesAndFlushCanFilterBySeverity
‪getMessagesAndFlushCanFilterBySeverity()
Definition: FlashMessageQueueTest.php:92
‪TYPO3\CMS\Core\Messaging\AbstractMessage\WARNING
‪const WARNING
Definition: AbstractMessage.php:30
‪TYPO3\CMS\Core\Tests\Functional\Messaging\FlashMessageQueueTest\messagesCanBeFilteredBySeverity
‪messagesCanBeFilteredBySeverity()
Definition: FlashMessageQueueTest.php:44
‪TYPO3\CMS\Core\Tests\Functional\Messaging\FlashMessageQueueTest\getAllMessagesAndFlushContainsEnqueuedMessage
‪getAllMessagesAndFlushContainsEnqueuedMessage()
Definition: FlashMessageQueueTest.php:67
‪TYPO3\CMS\Core\Messaging\AbstractMessage\OK
‪const OK
Definition: AbstractMessage.php:29
‪TYPO3\CMS\Core\Tests\Functional\Messaging\FlashMessageQueueTest\clearClearsTheQueue
‪clearClearsTheQueue()
Definition: FlashMessageQueueTest.php:133
‪TYPO3\CMS\Core\Messaging\FlashMessage
Definition: FlashMessage.php:26
‪TYPO3\CMS\Core\Tests\Functional\Messaging\FlashMessageQueueTest
Definition: FlashMessageQueueTest.php:28
‪TYPO3\CMS\Core\Messaging\AbstractMessage\NOTICE
‪const NOTICE
Definition: AbstractMessage.php:27
‪TYPO3\CMS\Core\Tests\Functional\Messaging\FlashMessageQueueTest\getAllMessagesReturnsSessionFlashMessageAndTransientFlashMessage
‪getAllMessagesReturnsSessionFlashMessageAndTransientFlashMessage()
Definition: FlashMessageQueueTest.php:118
‪TYPO3\CMS\Core\Messaging\FlashMessageQueue
Definition: FlashMessageQueue.php:29