/** * Test dispatcher method. */ public function testDispatcher() { $this->given($resolver = new HandlerClassResolver(new FromQueryNamedResolver(), new MethodWithShortObjectNameResolver('Query'), new InMemoryLocator([NearByVenuesQuery::class => new VenuesQueryHandler()])))->and($middleware = new QueryHandlerMiddleware($resolver))->when($result = $middleware->resolver())->then()->object($result)->isEqualTo($resolver); }
/** * @param string $queryName * @param mixed $queryHandler */ public function addHandler($queryName, $queryHandler) { $this->ensureQueryHandlerMiddleware(); $this->queryHandlerMiddleware->resolver()->addHandler($queryName, $queryHandler); }