From 90f35f26a29a595ddf371dd50638f2c917f965f1 Mon Sep 17 00:00:00 2001 From: Ben Roberts Date: Mon, 20 Nov 2017 13:57:52 -0500 Subject: [PATCH] testDoesNotFlagArgsWithSameTypeSignature --- tests/Utils/FindBreakingChangesTest.php | 61 +++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/tests/Utils/FindBreakingChangesTest.php b/tests/Utils/FindBreakingChangesTest.php index ed735be..b5f6991 100644 --- a/tests/Utils/FindBreakingChangesTest.php +++ b/tests/Utils/FindBreakingChangesTest.php @@ -861,4 +861,65 @@ class FindBreakingChangesTest extends \PHPUnit_Framework_TestCase ], FindBreakingChanges::findArgChanges($oldSchema, $newSchema)['breakingChanges'][0]); } + + public function testDoesNotFlagArgsWithSameTypeSignature() { + $inputType1a = new InputObjectType([ + 'name' => 'InputType1', + 'fields' => [ + 'field1' => Type::string() + ] + ]); + + $inputType1b = new InputObjectType([ + 'name' => 'InputType1', + 'fields' => [ + 'field1' => Type::string() + ] + ]); + + $oldType = new ObjectType([ + 'name' => 'Type1', + 'fields' => [ + 'field1' => [ + 'type' => Type::int(), + 'args' => [ + 'arg1' => Type::nonNull(Type::int()), + 'arg2' => $inputType1a + ] + ] + ] + ]); + + $newType = new ObjectType([ + 'name' => 'Type1', + 'fields' => [ + 'field1' => [ + 'type' => Type::int(), + 'args' => [ + 'arg1' => Type::nonNull(Type::int()), + 'arg2' => $inputType1b + ] + ] + ] + ]); + + $oldSchema = new Schema([ + 'query' => new ObjectType([ + 'name' => 'root', + 'fields' => [ + 'type1' => $oldType, + ] + ]) + ]); + $newSchema = new Schema([ + 'query' => new ObjectType([ + 'name' => 'root', + 'fields' => [ + 'type1' => $newType + ] + ]) + ]); + + $this->assertEquals([], FindBreakingChanges::findArgChanges($oldSchema, $newSchema)['breakingChanges']); + } } \ No newline at end of file