Translated using Weblate (Portuguese)
[phpmyadmin.git] / tests / unit / FlashMessengerTest.php
blobe8a5d6ffe6b11866cd1c97e279660879dee6b7a2
1 <?php
3 declare(strict_types=1);
5 namespace PhpMyAdmin\Tests;
7 use PhpMyAdmin\FlashMessenger;
8 use PHPUnit\Framework\Attributes\CoversClass;
9 use RuntimeException;
11 #[CoversClass(FlashMessenger::class)]
12 final class FlashMessengerTest extends AbstractTestCase
14 private const STORAGE_KEY = 'FlashMessenger';
16 public function testSessionNotFoundException(): void
18 $_SESSION = null;
19 $flashMessenger = new FlashMessenger();
20 $this->expectException(RuntimeException::class);
21 $this->expectExceptionMessage('Session not found.');
22 $flashMessenger->getCurrentMessages();
25 public function testAddMessage(): void
27 unset($_SESSION[self::STORAGE_KEY]);
28 $flashMessenger = new FlashMessenger();
29 self::assertArrayNotHasKey(self::STORAGE_KEY, $_SESSION);
30 $flashMessenger->addMessage('error', 'Error');
31 self::assertSame(
32 [['context' => 'error', 'message' => 'Error', 'statement' => '']],
33 $_SESSION[self::STORAGE_KEY],
37 public function testAddMessageWithStatement(): void
39 unset($_SESSION[self::STORAGE_KEY]);
40 $flashMessenger = new FlashMessenger();
41 self::assertArrayNotHasKey(self::STORAGE_KEY, $_SESSION);
42 $flashMessenger->addMessage('success', 'Success!', 'SELECT 1;');
43 self::assertSame(
44 [['context' => 'success', 'message' => 'Success!', 'statement' => 'SELECT 1;']],
45 $_SESSION[self::STORAGE_KEY],
49 public function testGetMessages(): void
51 unset($_SESSION[self::STORAGE_KEY]);
52 $flashMessengerOne = new FlashMessenger();
53 self::assertSame([], $flashMessengerOne->getCurrentMessages());
54 $flashMessengerOne->addMessage('error', 'Error1');
55 $flashMessengerOne->addMessage('error', 'Error2', 'SOME SQL;');
56 $flashMessengerOne->addMessage('warning', 'Warning');
57 self::assertSame(
59 ['context' => 'error', 'message' => 'Error1', 'statement' => ''],
60 ['context' => 'error', 'message' => 'Error2', 'statement' => 'SOME SQL;'],
61 ['context' => 'warning', 'message' => 'Warning', 'statement' => ''],
63 $flashMessengerOne->getCurrentMessages(),
65 self::assertSame([], $flashMessengerOne->getMessages());
66 $flashMessengerTwo = new FlashMessenger();
67 $flashMessengerTwo->addMessage('notice', 'Notice');
68 self::assertSame(
69 [['context' => 'notice', 'message' => 'Notice', 'statement' => '']],
70 $flashMessengerTwo->getCurrentMessages(),
72 self::assertSame(
74 ['context' => 'error', 'message' => 'Error1', 'statement' => ''],
75 ['context' => 'error', 'message' => 'Error2', 'statement' => 'SOME SQL;'],
76 ['context' => 'warning', 'message' => 'Warning', 'statement' => ''],
78 $flashMessengerTwo->getMessages(),
80 self::assertSame(
81 [['context' => 'notice', 'message' => 'Notice', 'statement' => '']],
82 (new FlashMessenger())->getMessages(),