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 }