wip
This commit is contained in:
parent
c822ea15a5
commit
fb71f41e05
|
|
@ -32,7 +32,7 @@ class PusherMessage implements RespondableMessage
|
||||||
$eventName = camel_case(str_after($this->payload->event, ':'));
|
$eventName = camel_case(str_after($this->payload->event, ':'));
|
||||||
|
|
||||||
if (method_exists($this, $eventName)) {
|
if (method_exists($this, $eventName)) {
|
||||||
call_user_func([$this, $eventName], $this->connection, $this->payload->data);
|
call_user_func([$this, $eventName], $this->connection, $this->payload->data ?? new stdClass());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,8 @@ namespace BeyondCode\LaravelWebSockets\Tests;
|
||||||
use BeyondCode\LaravelWebSockets\ClientProviders\Client;
|
use BeyondCode\LaravelWebSockets\ClientProviders\Client;
|
||||||
use BeyondCode\LaravelWebSockets\LaravelEcho\Pusher\Exceptions\UnknownAppKeyException;
|
use BeyondCode\LaravelWebSockets\LaravelEcho\Pusher\Exceptions\UnknownAppKeyException;
|
||||||
use BeyondCode\LaravelWebSockets\LaravelEcho\WebSocket\PusherServer;
|
use BeyondCode\LaravelWebSockets\LaravelEcho\WebSocket\PusherServer;
|
||||||
|
use BeyondCode\LaravelWebSockets\Tests\Mocks\Message;
|
||||||
|
use Ratchet\RFC6455\Messaging\MessageInterface;
|
||||||
|
|
||||||
class ConnectionTest extends TestCase
|
class ConnectionTest extends TestCase
|
||||||
{
|
{
|
||||||
|
|
@ -25,7 +27,7 @@ class ConnectionTest extends TestCase
|
||||||
/** @var PusherServer $server */
|
/** @var PusherServer $server */
|
||||||
$server = app(PusherServer::class);
|
$server = app(PusherServer::class);
|
||||||
|
|
||||||
$connection = $this->getWebSocketConnection('/?appKey=TestKey');
|
$connection = $this->getWebSocketConnection();
|
||||||
|
|
||||||
$server->onOpen($connection);
|
$server->onOpen($connection);
|
||||||
|
|
||||||
|
|
@ -38,7 +40,7 @@ class ConnectionTest extends TestCase
|
||||||
/** @var PusherServer $server */
|
/** @var PusherServer $server */
|
||||||
$server = app(PusherServer::class);
|
$server = app(PusherServer::class);
|
||||||
|
|
||||||
$connection = $this->getWebSocketConnection('/?appKey=TestKey');
|
$connection = $this->getWebSocketConnection();
|
||||||
|
|
||||||
$server->onOpen($connection);
|
$server->onOpen($connection);
|
||||||
|
|
||||||
|
|
@ -48,4 +50,21 @@ class ConnectionTest extends TestCase
|
||||||
$this->assertSame('TestSecret', $connection->client->appSecret);
|
$this->assertSame('TestSecret', $connection->client->appSecret);
|
||||||
$this->assertSame('Test Client', $connection->client->name);
|
$this->assertSame('Test Client', $connection->client->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** @test */
|
||||||
|
public function ping_returns_pong()
|
||||||
|
{
|
||||||
|
/** @var PusherServer $server */
|
||||||
|
$server = app(PusherServer::class);
|
||||||
|
|
||||||
|
$connection = $this->getWebSocketConnection();
|
||||||
|
|
||||||
|
$message = new Message('{"event": "pusher:ping"}');
|
||||||
|
|
||||||
|
$server->onOpen($connection);
|
||||||
|
|
||||||
|
$server->onMessage($connection, $message);
|
||||||
|
|
||||||
|
$connection->assertSentEvent('pusher:pong');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace BeyondCode\LaravelWebSockets\Tests\Mocks;
|
||||||
|
|
||||||
|
|
||||||
|
class Message extends \Ratchet\RFC6455\Messaging\Message
|
||||||
|
{
|
||||||
|
protected $payload;
|
||||||
|
|
||||||
|
public function __construct($payload)
|
||||||
|
{
|
||||||
|
$this->payload = $payload;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getPayload()
|
||||||
|
{
|
||||||
|
return $this->payload;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -25,7 +25,7 @@ abstract class TestCase extends \Orchestra\Testbench\TestCase
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function getWebSocketConnection(string $url): Connection
|
protected function getWebSocketConnection(string $url = '/?appKey=TestKey'): Connection
|
||||||
{
|
{
|
||||||
$connection = new Connection();
|
$connection = new Connection();
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue