@@ -87,3 +87,69 @@ async def test_read_items_with_pagination_and_filters(
87
87
88
88
for item in data ["data" ]:
89
89
assert item ["name" ] == name
90
+
91
+
92
+ @pytest .mark .asyncio
93
+ async def test_read_items_with_only_items_per_page_on_pagination (
94
+ client : TestClient , async_session , test_model , test_data
95
+ ):
96
+ for data in test_data :
97
+ new_item = test_model (** data )
98
+ async_session .add (new_item )
99
+ await async_session .commit ()
100
+
101
+ items_per_page = 1
102
+
103
+ response = client .get (f"/test/get_multi?&itemsPerPage={ items_per_page } " )
104
+
105
+ assert response .status_code == 200
106
+
107
+ data = response .json ()
108
+
109
+ assert "data" in data
110
+ assert "total_count" in data
111
+ assert "page" in data
112
+ assert "items_per_page" in data
113
+ assert "has_more" in data
114
+
115
+ assert len (data ["data" ]) > 0
116
+ assert len (data ["data" ]) <= items_per_page
117
+
118
+ test_item = test_data [0 ]
119
+ assert any (item ["name" ] == test_item ["name" ] for item in data ["data" ])
120
+
121
+ assert data ["page" ] == 1
122
+ assert data ["items_per_page" ] == items_per_page
123
+
124
+
125
+ @pytest .mark .asyncio
126
+ async def test_read_items_with_only_page_on_pagination (
127
+ client : TestClient , async_session , test_model , test_data
128
+ ):
129
+ for data in test_data :
130
+ new_item = test_model (** data )
131
+ async_session .add (new_item )
132
+ await async_session .commit ()
133
+
134
+ page = 1
135
+
136
+ response = client .get (f"/test/get_multi?&page={ page } " )
137
+
138
+ assert response .status_code == 200
139
+
140
+ data = response .json ()
141
+
142
+ assert "data" in data
143
+ assert "total_count" in data
144
+ assert "page" in data
145
+ assert "items_per_page" in data
146
+ assert "has_more" in data
147
+
148
+ assert len (data ["data" ]) > 0
149
+ assert len (data ["data" ]) <= 10
150
+
151
+ test_item = test_data [0 ]
152
+ assert any (item ["name" ] == test_item ["name" ] for item in data ["data" ])
153
+
154
+ assert data ["page" ] == page
155
+ assert data ["items_per_page" ] == 10
0 commit comments