|
| 1 | +<?php |
| 2 | + |
| 3 | +use PHPUnit\Framework\TestCase; |
| 4 | +use UnityWebPortal\lib\UnityHTTPD; |
| 5 | +use UnityWebPortal\lib\UnityHTTPDMessageLevel; |
| 6 | + |
| 7 | +class DeleteMessageTest extends TestCase |
| 8 | +{ |
| 9 | + public function testDeleteMessage(): void |
| 10 | + { |
| 11 | + switchUser(...getBlankUser()); |
| 12 | + $initial = UnityHTTPD::getMessages(); |
| 13 | + $this->assertEmpty($initial); |
| 14 | + UnityHTTPD::messageDebug("foo1", "bar1"); |
| 15 | + UnityHTTPD::messageDebug("foo2", "bar2"); |
| 16 | + UnityHTTPD::messageDebug("foo3", "bar3"); |
| 17 | + UnityHTTPD::messageError("foo", "bar"); |
| 18 | + UnityHTTPD::messageInfo("foo", "bar"); |
| 19 | + UnityHTTPD::messageSuccess("foo", "bar"); |
| 20 | + UnityHTTPD::messageWarning("foo", "bar"); |
| 21 | + try { |
| 22 | + $before = array_map("jsonEncode", UnityHTTPD::getMessages()); |
| 23 | + http_post( |
| 24 | + __DIR__ . "/../../webroot/panel/ajax/delete_message.php", |
| 25 | + [ |
| 26 | + "level" => "debug", |
| 27 | + "title_regex" => "/^.*2$/", |
| 28 | + "body_regex" => "/^.*2$/", |
| 29 | + ], |
| 30 | + enforce_PRG: false, |
| 31 | + ); |
| 32 | + $after = array_map("jsonEncode", UnityHTTPD::getMessages()); |
| 33 | + $difference = array_diff($before, $after); |
| 34 | + $message_expected_removed = ["foo2", "bar2", UnityHTTPDMessageLevel::DEBUG]; |
| 35 | + $this->assertEqualsCanonicalizing([jsonEncode($message_expected_removed)], $difference); |
| 36 | + } finally { |
| 37 | + UnityHTTPD::clearMessages(); |
| 38 | + } |
| 39 | + } |
| 40 | +} |
0 commit comments