Skip to content

Commit 3026181

Browse files
authored
Set first amount to max limit if not set (#993)
1 parent 3c229b6 commit 3026181

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

graphene_django/fields.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ def resolve_connection(cls, connection, args, iterable, max_limit=None):
146146

147147
after = get_offset_with_default(args.get("after"), -1) + 1
148148

149+
if max_limit is not None and "first" not in args:
150+
args["first"] = max_limit
151+
149152
connection = connection_from_list_slice(
150153
iterable[after:],
151154
args,

graphene_django/tests/test_query.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1127,7 +1127,7 @@ class Query(graphene.ObjectType):
11271127

11281128

11291129
def test_should_have_next_page(graphene_settings):
1130-
graphene_settings.RELAY_CONNECTION_MAX_LIMIT = 6
1130+
graphene_settings.RELAY_CONNECTION_MAX_LIMIT = 4
11311131
reporters = [Reporter(**kwargs) for kwargs in REPORTERS]
11321132
Reporter.objects.bulk_create(reporters)
11331133
db_reporters = Reporter.objects.all()
@@ -1141,9 +1141,6 @@ class Query(graphene.ObjectType):
11411141
all_reporters = DjangoConnectionField(ReporterType)
11421142

11431143
schema = graphene.Schema(query=Query)
1144-
# Need first: 4 here to trigger the `has_next_page` logic in graphql-relay
1145-
# See `arrayconnection.py::connection_from_list_slice`:
1146-
# has_next_page=isinstance(first, int) and end_offset < upper_bound
11471144
query = """
11481145
query AllReporters($first: Int, $after: String) {
11491146
allReporters(first: $first, after: $after) {
@@ -1160,7 +1157,7 @@ class Query(graphene.ObjectType):
11601157
}
11611158
"""
11621159

1163-
result = schema.execute(query, variable_values=dict(first=4))
1160+
result = schema.execute(query, variable_values={})
11641161
assert not result.errors
11651162
assert len(result.data["allReporters"]["edges"]) == 4
11661163
assert result.data["allReporters"]["pageInfo"]["hasNextPage"]

0 commit comments

Comments
 (0)