Skip to content

Commit 21e504c

Browse files
committed
update assert usage in loader spec
1 parent c7f0fb7 commit 21e504c

File tree

1 file changed

+45
-38
lines changed

1 file changed

+45
-38
lines changed

spec/graphql/schema/loader_spec.rb

Lines changed: 45 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)