diff --git a/tests/Executor/MutationsTest.php b/tests/Executor/MutationsTest.php index 2dadc7b..3a0fc71 100644 --- a/tests/Executor/MutationsTest.php +++ b/tests/Executor/MutationsTest.php @@ -1,16 +1,29 @@ assertEquals($expected, $mutationResult->toArray()); + $this->assertEquals($expected, self::awaitPromise($mutationResult)); } /** @@ -114,7 +127,20 @@ class MutationsTest extends \PHPUnit_Framework_TestCase ) ] ]; - $this->assertArraySubset($expected, $mutationResult->toArray()); + $this->assertArraySubset($expected, self::awaitPromise($mutationResult)); + } + + /** + * @param \GraphQL\Executor\Promise\Promise $promise + * @return array + */ + private static function awaitPromise($promise) + { + $results = null; + $promise->then(function (ExecutionResult $executionResult) use (&$results) { + $results = $executionResult->toArray(); + }); + return $results; } private function schema() @@ -200,12 +226,14 @@ class Root { /** * @param $newNumber - * @return NumberHolder + * + * @return Promise */ public function promiseToChangeTheNumber($newNumber) { - // No promises - return $this->immediatelyChangeTheNumber($newNumber); + return new Promise(function (callable $resolve) use ($newNumber) { + return $resolve($this->immediatelyChangeTheNumber($newNumber)); + }); } /** @@ -217,11 +245,12 @@ class Root { } /** - * @throws \Exception + * @return Promise */ public function promiseAndFailToChangeTheNumber() { - // No promises - throw new \Exception("Cannot change the number"); + return new Promise(function (callable $resolve, callable $reject) { + return $reject(new \Exception("Cannot change the number")); + }); } }