@@ -23,14 +23,23 @@ async def route_2():
2323 return paginate ([])
2424
2525
26- class MySchema (BaseModel ):
26+ class MySchemaPage (BaseModel ):
2727 page : Page [Any ]
2828
2929
30+ class MySchemaLimitOffset (BaseModel ):
31+ page : LimitOffsetPage [Any ]
32+
33+
3034@app .get (
31- "/revalidate" ,
32- dependencies = [Depends (pagination_ctx (Page ))],
33- response_model = MySchema ,
35+ "/revalidate/default" ,
36+ dependencies = [Depends (pagination_ctx (Page [int ]))],
37+ response_model = MySchemaPage ,
38+ )
39+ @app .get (
40+ "/revalidate/limit-offset" ,
41+ dependencies = [Depends (pagination_ctx (LimitOffsetPage [int ]))],
42+ response_model = MySchemaLimitOffset ,
3443)
3544async def route_3 ():
3645 page = paginate ([* range (10 )])
@@ -124,8 +133,9 @@ def test_links(self, prev, next, first, last):
124133 }
125134
126135
127- def test_revalidation ():
128- response = client .get ("/revalidate" )
136+ def test_revalidation_default ():
137+ response = client .get ("/revalidate/default" )
138+ print (response .json ())
129139
130140 assert response .status_code == status .HTTP_200_OK
131141 assert response .json () == {
@@ -136,9 +146,30 @@ def test_revalidation():
136146 "size" : 50 ,
137147 "pages" : 1 ,
138148 "links" : {
139- "first" : "/revalidate?page=1" ,
140- "last" : "/revalidate?page=1" ,
141- "self" : "/revalidate" ,
149+ "first" : "/revalidate/default?page=1" ,
150+ "last" : "/revalidate/default?page=1" ,
151+ "self" : "/revalidate/default" ,
152+ "next" : None ,
153+ "prev" : None ,
154+ },
155+ },
156+ }
157+
158+
159+ def test_revalidation_limit_offset ():
160+ response = client .get ("/revalidate/limit-offset" )
161+
162+ assert response .status_code == status .HTTP_200_OK
163+ assert response .json () == {
164+ "page" : {
165+ "items" : [0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ],
166+ "total" : 10 ,
167+ "limit" : 50 ,
168+ "offset" : 0 ,
169+ "links" : {
170+ "first" : "/revalidate/limit-offset?offset=0" ,
171+ "last" : "/revalidate/limit-offset?offset=0" ,
172+ "self" : "/revalidate/limit-offset" ,
142173 "next" : None ,
143174 "prev" : None ,
144175 },
0 commit comments