Ejemplo n.º 1
0
def test_field_resolver_can_be_set_using_setter(schema):
    query = ObjectType("Query")
    query.set_field("hello", lambda *_: "World")
    query.bind_to_schema(schema)

    result = graphql_sync(schema, "{ hello }")
    assert result.errors is None
    assert result.data == {"hello": "World"}
Ejemplo n.º 2
0
def test_set_alias_method_creates_resolver_for_specified_attribute(schema):
    query = ObjectType("Query")
    query.set_alias("hello", "test")
    query.bind_to_schema(schema)

    result = graphql_sync(schema, "{ hello }", root_value={"test": "World"})
    assert result.errors is None
    assert result.data == {"hello": "World"}
Ejemplo n.º 3
0
def test_interface_resolver_doesnt_override_existing_resolver(schema, interface):
    user = ObjectType("User")
    user.set_field("summary", test_resolver)
    user.bind_to_schema(schema)

    def interface_resolver(*_):
        pass  # pragma: no cover

    interface.set_field("summary", interface_resolver)
    interface.bind_to_schema(schema)

    field = schema.type_map.get("User").fields["summary"]
    assert field.resolve is test_resolver
Ejemplo n.º 4
0
def test_default_fallback_is_not_replacing_already_set_resolvers(schema):
    resolvers_map = ObjectType("Query")
    resolvers_map.set_field("hello", lambda *_: False)
    resolvers_map.set_field("snake_case", lambda *_: False)
    resolvers_map.bind_to_schema(schema)
    fallback_resolvers.bind_to_schema(schema)
    query_root = {
        "hello": True,
        "snake_case": True,
        "camel": True,
        "camel_case": True
    }
    result = graphql_sync(schema, query, root_value=query_root)
    assert result.data == {
        "hello": False,
        "snake_case": False,
        "Camel": None,
        "camelCase": None,
    }
Ejemplo n.º 5
0
def test_attempt_bind_object_type_field_to_undefined_field_raises_error(
        schema):
    query = ObjectType("Query")
    query.set_alias("user", "_")
    with pytest.raises(ValueError):
        query.bind_to_schema(schema)
Ejemplo n.º 6
0
def test_attempt_bind_object_type_to_invalid_type_raises_error(schema):
    query = ObjectType("Date")
    with pytest.raises(ValueError):
        query.bind_to_schema(schema)
Ejemplo n.º 7
0
def test_attempt_bind_object_type_to_undefined_type_raises_error(schema):
    query = ObjectType("Test")
    with pytest.raises(ValueError):
        query.bind_to_schema(schema)