public function testWorksOnFragmentSpreads()
{
// if false omits fragment spread
$q = '
query Q {
a
...Frag @include(if: false)
}
fragment Frag on TestType {
b
}
';
$this->assertEquals(['data' => ['a' => 'a']], $this->executeTestQuery($q));
// if true includes fragment spread
$q = '
query Q {
a
...Frag @include(if: true)
}
fragment Frag on TestType {
b
}
';
$this->assertEquals(['data' => ['a' => 'a', 'b' => 'b']], $this->executeTestQuery($q));
// unless false includes fragment spread
$q = '
query Q {
a
...Frag @skip(if: false)
}
fragment Frag on TestType {
b
}
';
$this->assertEquals(['data' => ['a' => 'a', 'b' => 'b']], $this->executeTestQuery($q));
// unless true omits fragment spread
$q = '
query Q {
a
...Frag @skip(if: true)
}
fragment Frag on TestType {
b
}
';
$this->assertEquals(['data' => ['a' => 'a']], $this->executeTestQuery($q));
}