GraphQL\Tests\Type\DefinitionTest::testDefinesAQueryOnlySchema PHP Method

testDefinesAQueryOnlySchema() public method

    public function testDefinesAQueryOnlySchema()
    {
        $blogSchema = new Schema(['query' => $this->blogQuery]);
        $this->assertSame($blogSchema->getQueryType(), $this->blogQuery);
        $articleField = $this->blogQuery->getField('article');
        $this->assertSame($articleField->getType(), $this->blogArticle);
        $this->assertSame($articleField->getType()->name, 'Article');
        $this->assertSame($articleField->name, 'article');
        /** @var ObjectType $articleFieldType */
        $articleFieldType = $articleField->getType();
        $titleField = $articleFieldType->getField('title');
        $this->assertInstanceOf('GraphQL\\Type\\Definition\\FieldDefinition', $titleField);
        $this->assertSame('title', $titleField->name);
        $this->assertSame(Type::string(), $titleField->getType());
        $authorField = $articleFieldType->getField('author');
        $this->assertInstanceOf('GraphQL\\Type\\Definition\\FieldDefinition', $authorField);
        /** @var ObjectType $authorFieldType */
        $authorFieldType = $authorField->getType();
        $this->assertSame($this->blogAuthor, $authorFieldType);
        $recentArticleField = $authorFieldType->getField('recentArticle');
        $this->assertInstanceOf('GraphQL\\Type\\Definition\\FieldDefinition', $recentArticleField);
        $this->assertSame($this->blogArticle, $recentArticleField->getType());
        $feedField = $this->blogQuery->getField('feed');
        $this->assertInstanceOf('GraphQL\\Type\\Definition\\FieldDefinition', $feedField);
        /** @var ListOfType $feedFieldType */
        $feedFieldType = $feedField->getType();
        $this->assertInstanceOf('GraphQL\\Type\\Definition\\ListOfType', $feedFieldType);
        $this->assertSame($this->blogArticle, $feedFieldType->getWrappedType());
    }