spec/graphql/schema/object_spec.rb in graphql-1.8.0.pre2 vs spec/graphql/schema/object_spec.rb in graphql-1.8.0.pre3
- old
+ new
@@ -14,11 +14,11 @@
end
it "inherits fields and interfaces" do
new_object_class = Class.new(object_class) do
field :newField, String, null: true
- field :name, String, "The new description", null: true
+ field :name, String, description: "The new description", null: true
end
# one more than the parent class
assert_equal 6, new_object_class.fields.size
# inherited interfaces are present
@@ -26,9 +26,20 @@
# The new field is present
assert new_object_class.fields.find { |f| f.name == "newField" }
# The overridden field is present:
name_field = new_object_class.fields.find { |f| f.name == "name" }
assert_equal "The new description", name_field.description
+ end
+
+ it "inherits name and description" do
+ # Manually assign a name since `.name` isn't populated for dynamic classes
+ new_subclass_1 = Class.new(object_class) do
+ graphql_name "NewSubclass"
+ end
+ new_subclass_2 = Class.new(new_subclass_1)
+ assert_equal "NewSubclass", new_subclass_1.graphql_name
+ assert_equal "NewSubclass", new_subclass_2.graphql_name
+ assert_equal object_class.description, new_subclass_2.description
end
end
describe ".to_graphql_type" do
let(:obj_type) { Jazz::Ensemble.to_graphql }