laravel-websockets/tests/Messages/PusherClientMessageTest.php

64 lines
1.8 KiB
PHP
Raw Normal View History

2018-12-02 22:55:26 +00:00
<?php
2018-12-06 19:55:48 +00:00
namespace BeyondCode\LaravelWebSockets\Tests\Messages;
2018-12-02 22:55:26 +00:00
use BeyondCode\LaravelWebSockets\Tests\Mocks\Message;
2020-03-04 09:58:39 +00:00
use BeyondCode\LaravelWebSockets\Tests\TestCase;
2018-12-02 22:55:26 +00:00
class PusherClientMessageTest extends TestCase
{
/** @test */
public function client_messages_do_not_work_when_disabled()
{
$connection = $this->getConnectedWebSocketConnection(['test-channel']);
$message = new Message(json_encode([
'event' => 'client-test',
'channel' => 'test-channel',
'data' => [
2018-12-04 21:22:33 +00:00
'client-event' => 'test',
2018-12-02 22:55:26 +00:00
],
]));
$this->pusherServer->onMessage($connection, $message);
$connection->assertNotSentEvent('client-test');
}
2018-12-02 22:57:12 +00:00
/** @test */
public function client_messages_get_broadcasted_when_enabled()
{
$this->app['config']->set('websockets.apps', [
[
'name' => 'Test App',
'id' => 1234,
'key' => 'TestKey',
'secret' => 'TestSecret',
'enable_client_messages' => true,
2018-12-03 10:58:42 +00:00
'enable_statistics' => true,
2018-12-02 22:57:12 +00:00
],
]);
$connection1 = $this->getConnectedWebSocketConnection(['test-channel']);
$connection2 = $this->getConnectedWebSocketConnection(['test-channel']);
2018-12-02 22:57:12 +00:00
$message = new Message(json_encode([
'event' => 'client-test',
'channel' => 'test-channel',
'data' => [
2018-12-04 21:22:33 +00:00
'client-event' => 'test',
2018-12-02 22:57:12 +00:00
],
]));
$this->pusherServer->onMessage($connection1, $message);
$connection1->assertNotSentEvent('client-test');
2018-12-02 22:57:12 +00:00
$connection2->assertSentEvent('client-test', [
2018-12-02 22:57:12 +00:00
'data' => [
2018-12-04 21:22:33 +00:00
'client-event' => 'test',
],
2018-12-02 22:57:12 +00:00
]);
}
2018-12-04 21:22:33 +00:00
}