Merge branch 'master' of github.com:beyondcode/laravel-websockets
This commit is contained in:
commit
8722e8b9a4
|
|
@ -28,6 +28,27 @@ class ChannelTest extends TestCase
|
|||
]);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function clients_can_unsubscribe_from_channels()
|
||||
{
|
||||
$connection = $this->getConnectedWebSocketConnection(['test-channel']);
|
||||
|
||||
$channel = $this->getChannel($connection, 'test-channel');
|
||||
|
||||
$this->assertTrue($channel->hasConnections());
|
||||
|
||||
$message = new Message(json_encode([
|
||||
'event' => 'pusher:unsubscribe',
|
||||
'data' => [
|
||||
'channel' => 'test-channel'
|
||||
],
|
||||
]));
|
||||
|
||||
$this->pusherServer->onMessage($connection, $message);
|
||||
|
||||
$this->assertFalse($channel->hasConnections());
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function a_client_cannot_broadcast_to_other_clients_by_default()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -0,0 +1,59 @@
|
|||
<?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,
|
||||
],
|
||||
]);
|
||||
|
||||
$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'
|
||||
]
|
||||
]);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue