def test_replace_mutation_type(schema: Schema) -> None: NewMutation = ObjectType( "Mutation", fields=[Field("update_some_number", Int)], ) schema._replace_types_and_directives({"Mutation": NewMutation}) assert schema.mutation_type is NewMutation
def test_replace_interface_in_implementers(schema: Schema) -> None: NewObject = InterfaceType( "Object", fields=[ Field("id", NonNullType(ID)), Field("name", NonNullType(String)), ], ) schema._replace_types_and_directives({"Object": NewObject}) assert (cast(ObjectType, schema.get_type("Person")).interfaces[0] is cast( ObjectType, schema.get_type("Animal")).interfaces[0] is schema.types["Object"] is NewObject)
def test_replace_type_in_union(schema: Schema) -> None: NewPerson = ObjectType( "Person", fields=(list(cast(ObjectType, schema.types["Person"]).fields) + [Field("last_name", NonNullType(String))]), interfaces=[cast(InterfaceType, schema.types["Object"])], ) schema._replace_types_and_directives({"Person": NewPerson}) assert cast(ObjectType, schema.get_type("Person")) is NewPerson union_type = cast(UnionType, schema.get_type("LivingBeing")) assert NewPerson in union_type.types assert 2 == len(union_type.types)
def test_root_type_is_not_created(schema: Schema) -> None: Subscription = ObjectType("Subscription", fields=[Field("some_number", Int)]) schema._replace_types_and_directives({"Subscription": Subscription}) assert schema.subscription_type is None
def test_replace_query_type(schema: Schema) -> None: NewQuery = ObjectType("Query", fields=[Field("some_number", Int)]) schema._replace_types_and_directives({"Query": NewQuery}) assert schema.query_type is NewQuery