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 */
|
/** @test */
|
||||||
public function a_client_cannot_broadcast_to_other_clients_by_default()
|
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