More tests, misc fixes

This commit is contained in:
2024-03-13 01:28:14 +01:00
parent 7953ce51ee
commit b730b82ef7
7 changed files with 106 additions and 12 deletions

View File

@ -0,0 +1,48 @@
<?php
namespace NoccyLabs\Mercureact;
use PHPUnit\Framework\Attributes\CoversClass;
#[CoversClass(Configuration::class)]
class ConfigurationTest extends \PHPUnit\Framework\TestCase
{
public function testCreatingDefaultConfiguration()
{
$config = Configuration::createDefault();
$this->assertInstanceOf(Configuration::class, $config);
}
public function testGettingSingleValues()
{
$config = new Configuration([
'foo.bar' => 'baz',
'foo.baz' => true,
'foo.bin' => 42,
]);
$this->assertEquals('baz', $config->get("foo.bar"));
$this->assertEquals(true, $config->get("foo.baz"));
$this->assertEquals(42, $config->get("foo.bin"));
}
public function testGettingMultipleValues()
{
$config = new Configuration([
'foo.bar' => 'baz',
'foo.baz' => true,
'foo.bin' => 42,
'bar' => false,
]);
$this->assertEquals([
'foo.bar' => 'baz',
'foo.baz' => true,
'foo.bin' => 42,
], $config->get("foo."));
$this->assertEquals(false, $config->get("bar"));
$this->assertEquals([], $config->get("bar."));
}
}

View File

@ -0,0 +1,29 @@
<?php
namespace NoccyLabs\Mercureact\Http\Middleware;
use PHPUnit\Framework\Attributes\CoversClass;
use Psr\Http\Message\ResponseInterface;
use React\Http\Message\ServerRequest;
use React\Promise\Promise;
#[CoversClass(NotFoundHandler::class)]
class NotFoundHandlerTest extends \PHPUnit\Framework\TestCase
{
public function testAlwaysResolvesTo404Response()
{
$handler = new NotFoundHandler();
$request = new ServerRequest("GET", "/");
$result = null;
$promise = $handler->__invoke($request)->then(function ($r) use (&$result) {
$result = $r;
});
$this->assertInstanceOf(ResponseInterface::class, $result);
/** @var ResponseInterface $result */
$this->assertEquals(404, $result->getStatusCode());
}
}