public setContainer ( Youshido\GraphQL\Execution\Container\ContainerInterface $container ) | ||
$container | Youshido\GraphQL\Execution\Container\ContainerInterface |
public function __construct(AbstractSchema $schema) { if (empty($this->executionContext)) { $this->executionContext = new ExecutionContext($schema); $this->executionContext->setContainer(new Container()); } $this->resolveValidator = new ResolveValidator($this->executionContext); }
public function testContainer() { $container = new Container(); $container->set('user', ['name' => 'Alex']); $executionContext = new ExecutionContext(new Schema(['query' => new ObjectType(['name' => 'RootQuery', 'fields' => ['currentUser' => ['type' => new StringType(), 'resolve' => function ($source, $args, ResolveInfo $info) { return $info->getContainer()->get('user')['name']; }]]])])); $executionContext->setContainer($container); $this->assertNotNull($executionContext->getContainer()); $processor = new Processor($executionContext->getSchema()); $processor->getExecutionContext()->setContainer($container); $this->assertEquals(['data' => ['currentUser' => 'Alex']], $processor->processPayload('{ currentUser }')->getResponseData()); }