laravel-websockets/tests/Messages/PusherClientMessageTest.php

60 lines
1.6 KiB
PHP

<?php
namespace BeyondCode\LaravelWebsockets\Tests\Messages;
use BeyondCode\LaravelWebSockets\Tests\TestCase;
use BeyondCode\LaravelWebSockets\Tests\Mocks\Message;
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' => [
'client-event' => 'test'
],
]));
$this->pusherServer->onMessage($connection, $message);
$connection->assertNotSentEvent('client-test');
}
/** @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,
'enable_statistics' => true,
],
]);
$connection = $this->getConnectedWebSocketConnection(['test-channel']);
$message = new Message(json_encode([
'event' => 'client-test',
'channel' => 'test-channel',
'data' => [
'client-event' => 'test'
],
]));
$this->pusherServer->onMessage($connection, $message);
$connection->assertSentEvent('client-test', [
'data' => [
'client-event' => 'test'
]
]);
}
}