public function test_has_container_aware_invokers() { $container = new Container(); $router = new Router($container); $this->assertTrue($router->getCallableInvoker() instanceof CallableInvoker); $this->assertTrue($router->getRoutesMatcher()->getFiltersMatcher()->getFilterInvoker() instanceof FilterInvoker); $this->assertTrue($router->getRoutesMatcher()->getParameterResolver()->getParameterResolverInvoker() instanceof ParameterResolverInvoker); }
public function test_resolves_entities_properly() { $router = new Router(new Container()); $resolver = new EntitiesResolver($router); $resolver->resolve('fake', FakeRepository::class); $router->get('{fake}', function () { }); $route = $router->match(HttpRequestMethod::GET, new Url('foo')); $this->assertTrue($route instanceof IRoute); $entity = $route->getParameter('fake'); $this->assertTrue($entity instanceof FakeEntity); /** @var FakeEntity $entity */ $this->assertEquals('foo', $entity->id); }