Skip to content

Commit 90230fd

Browse files
author
Cyril Mizzi
committed
adds FieldTransformerTest
1 parent 4ed964f commit 90230fd

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
<?php
2+
namespace StudioNet\GraphQL\Tests\Transformer;
3+
4+
use StudioNet\GraphQL\Tests\Entity;
5+
use StudioNet\GraphQL\Tests\TestCase;
6+
use StudioNet\GraphQL\Support\Field;
7+
use StudioNet\GraphQL\Transformer\FieldTransformer;
8+
use GraphQL\Type\Definition\Type as GraphQLType;
9+
10+
/**
11+
* FieldTransformerTest
12+
*
13+
* @see TestCase
14+
*/
15+
class FieldTransformerTest extends TestCase {
16+
/**
17+
* @override
18+
*/
19+
public function setUp() {
20+
parent::setUp();
21+
22+
$this->app['graphql']->registerType('user', Entity\User::class);
23+
}
24+
25+
/**
26+
* getQueryStub
27+
*
28+
* @return void
29+
*/
30+
public function getQueryStub() {
31+
$stub = $this->getMockBuilder(Field::class)
32+
->setMethods(['getRelatedType', 'getArguments'])
33+
->getMock();
34+
35+
$stub->method('getRelatedType')->willReturn($this->app['graphql']->type('user'));
36+
$stub->method('getArguments')->willReturn(['id' => GraphQLType::id()]);
37+
38+
return $stub;
39+
}
40+
41+
/**
42+
* testSupports
43+
*
44+
* @return void
45+
*/
46+
public function testSupports() {
47+
$transformer = $this->app->make(FieldTransformer::class);
48+
49+
$this->assertFalse($transformer->supports($this->app->make(Entity\User::class)));
50+
$this->assertTrue($transformer->supports($this->getQueryStub()));
51+
}
52+
53+
/**
54+
* testTransform
55+
*
56+
* @return void
57+
*/
58+
public function testTransform() {
59+
$query = $this->getQueryStub();
60+
$transformer = $this->app->make(FieldTransformer::class);
61+
$object = $transformer->transform($query);
62+
63+
$this->assertArrayNotHasKey('resolve', $object);
64+
$this->assertSame($this->app['graphql']->type('user'), $object['type']);
65+
$this->assertSame(['id' => GraphQLType::id()], $object['args']);
66+
}
67+
}

0 commit comments

Comments
 (0)