mirror of
https://codeberg.org/demostf/api.git
synced 2026-06-03 18:04:08 +02:00
fix chat listing
This commit is contained in:
parent
611e7c3415
commit
06379c2363
3 changed files with 40 additions and 4 deletions
|
|
@ -4,7 +4,7 @@ declare(strict_types=1);
|
||||||
|
|
||||||
namespace Demostf\API\Demo;
|
namespace Demostf\API\Demo;
|
||||||
|
|
||||||
class ChatMessage {
|
class ChatMessage implements \JsonSerializable {
|
||||||
/** @var string */
|
/** @var string */
|
||||||
private $user;
|
private $user;
|
||||||
|
|
||||||
|
|
@ -47,4 +47,12 @@ class ChatMessage {
|
||||||
public function getMessage(): string {
|
public function getMessage(): string {
|
||||||
return $this->message;
|
return $this->message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function jsonSerialize() {
|
||||||
|
return [
|
||||||
|
'user' => $this->user,
|
||||||
|
'time' => $this->time,
|
||||||
|
'message' => $this->message,
|
||||||
|
];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -50,4 +50,12 @@ abstract class ControllerTest extends TestCase {
|
||||||
protected function getResponseData() {
|
protected function getResponseData() {
|
||||||
return $this->responseData;
|
return $this->responseData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function assertResponseData($expected) {
|
||||||
|
if (!is_string($expected)) {
|
||||||
|
$expected = json_encode($expected);
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->assertEquals($expected, $this->getResponseData());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ declare(strict_types=1);
|
||||||
namespace Demostf\API\Test\Controllers;
|
namespace Demostf\API\Test\Controllers;
|
||||||
|
|
||||||
use Demostf\API\Controllers\DemoController;
|
use Demostf\API\Controllers\DemoController;
|
||||||
|
use Demostf\API\Demo\ChatMessage;
|
||||||
use Demostf\API\Demo\Demo;
|
use Demostf\API\Demo\Demo;
|
||||||
use Demostf\API\Demo\DemoStore;
|
use Demostf\API\Demo\DemoStore;
|
||||||
use Demostf\API\Providers\ChatProvider;
|
use Demostf\API\Providers\ChatProvider;
|
||||||
|
|
@ -51,7 +52,7 @@ class DemoControllerTest extends ControllerTest {
|
||||||
->willReturn(['dummy']);
|
->willReturn(['dummy']);
|
||||||
|
|
||||||
$controller->listDemos();
|
$controller->listDemos();
|
||||||
$this->assertEquals('["dummy"]', $this->getResponseData());
|
$this->assertResponseData(['dummy']);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testGetListPageASC() {
|
public function testGetListPageASC() {
|
||||||
|
|
@ -63,7 +64,7 @@ class DemoControllerTest extends ControllerTest {
|
||||||
->willReturn(['dummy']);
|
->willReturn(['dummy']);
|
||||||
|
|
||||||
$controller->listDemos();
|
$controller->listDemos();
|
||||||
$this->assertEquals('["dummy"]', $this->getResponseData());
|
$this->assertResponseData(['dummy']);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testListFilterBackend() {
|
public function testListFilterBackend() {
|
||||||
|
|
@ -75,7 +76,7 @@ class DemoControllerTest extends ControllerTest {
|
||||||
->willReturn(['dummy']);
|
->willReturn(['dummy']);
|
||||||
|
|
||||||
$controller->listDemos();
|
$controller->listDemos();
|
||||||
$this->assertEquals('["dummy"]', $this->getResponseData());
|
$this->assertResponseData(['dummy']);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -178,4 +179,23 @@ class DemoControllerTest extends ControllerTest {
|
||||||
|
|
||||||
$controller->setDemoUrl('1');
|
$controller->setDemoUrl('1');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testGetChat() {
|
||||||
|
$controller = $this->getController();
|
||||||
|
|
||||||
|
$this->chatProvider->expects($this->once())
|
||||||
|
->method('getChat')
|
||||||
|
->with(1)
|
||||||
|
->willReturn([
|
||||||
|
new ChatMessage('foo', 1, 'bar'),
|
||||||
|
new ChatMessage('foo2', 2, 'bar2'),
|
||||||
|
]);
|
||||||
|
|
||||||
|
$controller->chat('1');
|
||||||
|
|
||||||
|
$this->assertResponseData([
|
||||||
|
['user' => 'foo', 'time' => 1, 'message' => 'bar'],
|
||||||
|
['user' => 'foo2', 'time' => 2, 'message' => 'bar2'],
|
||||||
|
]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue