More tests, misc fixes
This commit is contained in:
		
							
								
								
									
										48
									
								
								tests/ConfigurationTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								tests/ConfigurationTest.php
									
									
									
									
									
										Normal 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."));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										29
									
								
								tests/Http/Middleware/NotFoundHandlerTest.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								tests/Http/Middleware/NotFoundHandlerTest.php
									
									
									
									
									
										Normal 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());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user