Skip to content

Commit

Permalink
Add test coverage for optimization of Relay nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
tpict committed Mar 13, 2020
1 parent 306a1b9 commit 9c9add9
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions tests/test_query.py
Original file line number Diff line number Diff line change
Expand Up @@ -520,3 +520,42 @@ def test_should_only_use_the_only_and_not_select_related():
items = gql_optimizer.query(qs, info)
optimized_items = qs.only('id', 'name')
assert_query_equality(items, optimized_items)


@pytest.mark.django_db
def test_should_use_only_with_node_interface():
info = create_resolve_info(schema, '''
query {
relayItems {
edges {
node {
id
}
}
}
}
''')
qs = Item.objects.all()
items = gql_optimizer.query(qs, info)
optimized_items = qs.only('id')
assert_query_equality(items, optimized_items)


@pytest.mark.django_db
def test_should_not_try_to_optimize_non_field_model_fields_on_relay_node():
info = create_resolve_info(schema, '''
query {
relayItems {
edges {
node {
id
foo
}
}
}
}
''')
qs = Item.objects.all()
items = gql_optimizer.query(qs, info)
optimized_items = qs
assert_query_equality(items, optimized_items)

0 comments on commit 9c9add9

Please sign in to comment.