@@ -154,74 +154,81 @@ def self.coerce_result(value, _ctx)
154154 }
155155
156156 describe "load" do
157+ def assert_equal_or_nil ( expected_value , actual_value )
158+ if expected_value . nil?
159+ assert_nil actual_value
160+ else
161+ assert_equal expected_value , actual_value
162+ end
163+ end
157164 def assert_deep_equal ( expected_type , actual_type )
158165 if actual_type . is_a? ( Array )
159166 actual_type . each_with_index do |obj , index |
160167 assert_deep_equal expected_type [ index ] , obj
161168 end
162169 elsif actual_type . is_a? ( GraphQL ::Schema ::Field )
163- assert_equal expected_type . graphql_name , actual_type . graphql_name
164- assert_equal expected_type . description , actual_type . description
165- assert_equal expected_type . deprecation_reason , actual_type . deprecation_reason
166- assert_equal expected_type . arguments . keys . sort , actual_type . arguments . keys . sort
170+ assert_equal_or_nil expected_type . graphql_name , actual_type . graphql_name
171+ assert_equal_or_nil expected_type . description , actual_type . description
172+ assert_equal_or_nil expected_type . deprecation_reason , actual_type . deprecation_reason
173+ assert_equal_or_nil expected_type . arguments . keys . sort , actual_type . arguments . keys . sort
167174 assert_deep_equal expected_type . arguments . values . sort_by ( &:graphql_name ) , actual_type . arguments . values . sort_by ( &:graphql_name )
168175 elsif actual_type . is_a? ( GraphQL ::Schema ::EnumValue )
169- assert_equal expected_type . graphql_name , actual_type . graphql_name
170- assert_equal expected_type . description , actual_type . description
171- assert_equal expected_type . deprecation_reason , actual_type . deprecation_reason
176+ assert_equal_or_nil expected_type . graphql_name , actual_type . graphql_name
177+ assert_equal_or_nil expected_type . description , actual_type . description
178+ assert_equal_or_nil expected_type . deprecation_reason , actual_type . deprecation_reason
172179 elsif actual_type . is_a? ( GraphQL ::Schema ::Argument )
173- assert_equal expected_type . graphql_name , actual_type . graphql_name
174- assert_equal expected_type . description , actual_type . description
175- assert_equal expected_type . deprecation_reason , actual_type . deprecation_reason
180+ assert_equal_or_nil expected_type . graphql_name , actual_type . graphql_name
181+ assert_equal_or_nil expected_type . description , actual_type . description
182+ assert_equal_or_nil expected_type . deprecation_reason , actual_type . deprecation_reason
176183 assert_deep_equal expected_type . type , actual_type . type
177184 elsif actual_type . is_a? ( GraphQL ::Schema ::NonNull ) || actual_type . is_a? ( GraphQL ::Schema ::List )
178- assert_equal expected_type . class , actual_type . class
185+ assert_equal_or_nil expected_type . class , actual_type . class
179186 assert_deep_equal expected_type . of_type , actual_type . of_type
180187 elsif actual_type < GraphQL ::Schema
181- assert_equal expected_type . query . graphql_name , actual_type . query . graphql_name
182- assert_equal expected_type . mutation . graphql_name , actual_type . mutation . graphql_name
183- assert_equal expected_type . directives . keys . sort , actual_type . directives . keys . sort
188+ assert_equal_or_nil expected_type . query . graphql_name , actual_type . query . graphql_name
189+ assert_equal_or_nil expected_type . mutation . graphql_name , actual_type . mutation . graphql_name
190+ assert_equal_or_nil expected_type . directives . keys . sort , actual_type . directives . keys . sort
184191 assert_deep_equal expected_type . directives . values . sort_by ( &:graphql_name ) , actual_type . directives . values . sort_by ( &:graphql_name )
185- assert_equal expected_type . types . keys . sort , actual_type . types . keys . sort
192+ assert_equal_or_nil expected_type . types . keys . sort , actual_type . types . keys . sort
186193 assert_deep_equal expected_type . types . values . sort_by ( &:graphql_name ) , actual_type . types . values . sort_by ( &:graphql_name )
187- assert_equal expected_type . description , actual_type . description
194+ assert_equal_or_nil expected_type . description , actual_type . description
188195 elsif actual_type < GraphQL ::Schema ::Object
189- assert_equal expected_type . graphql_name , actual_type . graphql_name
190- assert_equal expected_type . description , actual_type . description
191- assert_equal expected_type . interfaces . map ( &:graphql_name ) . sort , actual_type . interfaces . map ( &:graphql_name ) . sort
196+ assert_equal_or_nil expected_type . graphql_name , actual_type . graphql_name
197+ assert_equal_or_nil expected_type . description , actual_type . description
198+ assert_equal_or_nil expected_type . interfaces . map ( &:graphql_name ) . sort , actual_type . interfaces . map ( &:graphql_name ) . sort
192199 assert_deep_equal expected_type . interfaces . sort_by ( &:graphql_name ) , actual_type . interfaces . sort_by ( &:graphql_name )
193- assert_equal expected_type . fields . keys . sort , actual_type . fields . keys . sort
200+ assert_equal_or_nil expected_type . fields . keys . sort , actual_type . fields . keys . sort
194201 assert_deep_equal expected_type . fields . values . sort_by ( &:graphql_name ) , actual_type . fields . values . sort_by ( &:graphql_name )
195202 elsif actual_type < GraphQL ::Schema ::Interface
196- assert_equal expected_type . graphql_name , actual_type . graphql_name
197- assert_equal expected_type . description , actual_type . description
198- assert_equal expected_type . fields . keys . sort , actual_type . fields . keys . sort
203+ assert_equal_or_nil expected_type . graphql_name , actual_type . graphql_name
204+ assert_equal_or_nil expected_type . description , actual_type . description
205+ assert_equal_or_nil expected_type . fields . keys . sort , actual_type . fields . keys . sort
199206 assert_deep_equal expected_type . fields . values . sort_by ( &:graphql_name ) , actual_type . fields . values . sort_by ( &:graphql_name )
200207 elsif actual_type < GraphQL ::Schema ::Union
201- assert_equal expected_type . graphql_name , actual_type . graphql_name
202- assert_equal expected_type . description , actual_type . description
203- assert_equal expected_type . possible_types . map ( &:graphql_name ) . sort , actual_type . possible_types . map ( &:graphql_name ) . sort
208+ assert_equal_or_nil expected_type . graphql_name , actual_type . graphql_name
209+ assert_equal_or_nil expected_type . description , actual_type . description
210+ assert_equal_or_nil expected_type . possible_types . map ( &:graphql_name ) . sort , actual_type . possible_types . map ( &:graphql_name ) . sort
204211 assert_deep_equal expected_type . possible_types . sort_by ( &:graphql_name ) , actual_type . possible_types . sort_by ( &:graphql_name )
205212 elsif actual_type < GraphQL ::Schema ::Scalar
206- assert_equal expected_type . graphql_name , actual_type . graphql_name
207- assert_equal expected_type . specified_by_url , actual_type . specified_by_url
213+ assert_equal_or_nil expected_type . graphql_name , actual_type . graphql_name
214+ assert_equal_or_nil expected_type . specified_by_url , actual_type . specified_by_url
208215 elsif actual_type < GraphQL ::Schema ::Enum
209- assert_equal expected_type . graphql_name , actual_type . graphql_name
210- assert_equal expected_type . description , actual_type . description
216+ assert_equal_or_nil expected_type . graphql_name , actual_type . graphql_name
217+ assert_equal_or_nil expected_type . description , actual_type . description
211218 assert_deep_equal expected_type . values . values . sort_by ( &:graphql_name ) , actual_type . values . values . sort_by ( &:graphql_name )
212219 elsif actual_type < GraphQL ::Schema ::InputObject
213- assert_equal expected_type . graphql_name , actual_type . graphql_name
214- assert_equal expected_type . arguments . keys . sort , actual_type . arguments . keys . sort
220+ assert_equal_or_nil expected_type . graphql_name , actual_type . graphql_name
221+ assert_equal_or_nil expected_type . arguments . keys . sort , actual_type . arguments . keys . sort
215222 assert_deep_equal expected_type . arguments . values . sort_by ( &:graphql_name ) , actual_type . arguments . values . sort_by ( &:graphql_name )
216223 elsif actual_type < GraphQL ::Schema ::Directive
217- assert_equal expected_type . graphql_name , actual_type . graphql_name
218- assert_equal expected_type . description , actual_type . description
219- assert_equal expected_type . repeatable? , actual_type . repeatable?
220- assert_equal expected_type . locations . sort , actual_type . locations . sort
221- assert_equal expected_type . arguments . keys . sort , actual_type . arguments . keys . sort
224+ assert_equal_or_nil expected_type . graphql_name , actual_type . graphql_name
225+ assert_equal_or_nil expected_type . description , actual_type . description
226+ assert_equal_or_nil expected_type . repeatable? , actual_type . repeatable?
227+ assert_equal_or_nil expected_type . locations . sort , actual_type . locations . sort
228+ assert_equal_or_nil expected_type . arguments . keys . sort , actual_type . arguments . keys . sort
222229 assert_deep_equal expected_type . arguments . values . sort_by ( &:graphql_name ) , actual_type . arguments . values . sort_by ( &:graphql_name )
223230 else
224- assert_equal expected_type , actual_type
231+ assert_equa_or_nil expected_type , actual_type
225232 end
226233 end
227234
0 commit comments