Пример #1
0
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
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
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
Пример #5
0
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