Skip to content

Commit ec928df

Browse files
author
Denny Weinberg
committed
Added test for connection factory
1 parent cbf0a22 commit ec928df

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
from graphene_sqlalchemy.fields import SQLAlchemyConnectionField, registerConnectionFieldFactory
2+
import graphene
3+
4+
def test_register():
5+
class LXConnectionField(SQLAlchemyConnectionField):
6+
@classmethod
7+
def _applyQueryArgs(cls, model, q, args):
8+
return q
9+
10+
@classmethod
11+
def connection_resolver(cls, resolver, connection, model, root, args, context, info):
12+
13+
def LXResolver(root, args, context, info):
14+
iterable = resolver(root, args, context, info)
15+
if iterable is None:
16+
iterable = cls.get_query(model, context, info, args)
17+
18+
# We accept always a query here. All LX-queries can be filtered and sorted
19+
iterable = cls._applyQueryArgs(model, iterable, args)
20+
return iterable
21+
22+
return SQLAlchemyConnectionField.connection_resolver(LXResolver, connection, model, root, args, context, info)
23+
24+
def createLXConnectionField(table):
25+
return LXConnectionField(table, filter=table.filter(), order_by=graphene.List(of_type=table.order_by))
26+
27+
registerConnectionFieldFactory(createLXConnectionField)
28+
29+

0 commit comments

Comments
 (0)