/**
  * Set up test environment.
  */
 public function setUp()
 {
     parent::setUp();
     $schema = new SchemaBuilder();
     $this->registrar = new ConnectionRegistrar();
     $this->edgeRegistrar = new EdgeRegistrar();
     $this->typeRegistrar = new TypeRegistrar();
     $schema->setConnectionRegistrar($this->registrar);
     $schema->setEdgeRegistrar($this->edgeRegistrar);
     $schema->setTypeRegistrar($this->typeRegistrar);
     $this->registrar->setSchema($schema);
     $this->typeRegistrar->setSchema($schema);
     $this->edgeRegistrar->setSchema($schema);
 }
Esempio n. 2
0
 /**
  * Find field by operation and name.
  *
  * @param  string $name
  * @param  string $operation
  * @return array
  */
 public function getField($selection, $operation = 'query')
 {
     if (!$this->isField($selection)) {
         return null;
     }
     $name = $selection->name->value;
     if ($operation == 'mutation') {
         return $this->schema->getMutationRegistrar()->get($name);
     } elseif ($operation == 'type') {
         return $this->schema->getTypeRegistrar()->get($name);
     }
     return $this->schema->getQueryRegistrar()->get($name);
 }
Esempio n. 3
0
 /**
  * Get field and attach necessary middleware.
  *
  * @param  string $name
  * @param  string $namespace
  * @return \Nuwave\Lighthouse\Schema\Field
  */
 protected function createField($name, $namespace)
 {
     $field = new Field($name, $this->getClassName($namespace));
     $field->addMiddleware($this->schema->getMiddlewareStack());
     return $field;
 }