mercureact/tests/Broker/MessageTest.php

70 lines
1.7 KiB
PHP

<?php
namespace NoccyLabs\Mercureact\Broker;
use PHPUnit\Framework\Attributes\CoversClass;
#[CoversClass(Message::class)]
class MessageTest extends \PHPUnit\Framework\TestCase
{
public function testCreatingMessageFromData()
{
$message = Message::fromData([
'id' => '1a',
'topic' => '2b',
'data' => '3c',
'type' => '4d',
'retry' => 42,
'private' => true,
]);
$this->assertEquals("1a", $message->id);
$this->assertEquals(["2b"], $message->topic);
$this->assertEquals("3c", $message->data);
$this->assertEquals("4d", $message->type);
$this->assertEquals(42, $message->retry);
$this->assertEquals(true, $message->private);
$message = Message::fromData([
'id' => '1a',
'topic' => ['2b'],
'data' => '3c',
'type' => '4d',
'retry' => 42,
'private' => true,
]);
$this->assertEquals("1a", $message->id);
$this->assertEquals(["2b"], $message->topic);
$this->assertEquals("3c", $message->data);
$this->assertEquals("4d", $message->type);
$this->assertEquals(42, $message->retry);
$this->assertEquals(true, $message->private);
}
public function testCreatingSseFromMessage()
{
$message = Message::fromData([
'id' => '1a',
'topic' => '2b',
'data' => '3c',
'type' => '4d',
'retry' => 42,
'private' => true,
]);
$sse = $message->toString();
$this->assertEquals(<<<EXPECT
event: 4d
retry: 42
id: 1a
data: 3c
EXPECT, $sse);
}
}