@@ -177,6 +177,20 @@ def test_filter_before_invalid(self):
177
177
self .assertEqual (response .status_code , 400 )
178
178
self .assertEqual (list (response .json ())[0 ], "expires_before" )
179
179
180
+ def test_after_before_before_invalid (self ):
181
+ url = reverse ('bot:infraction-list' , host = 'api' )
182
+ target_time = datetime .datetime .utcnow () + datetime .timedelta (hours = 5 )
183
+ target_time_late = datetime .datetime .utcnow () + datetime .timedelta (hours = 9 )
184
+ response = self .client .get (
185
+ f'{ url } ?expires_before={ target_time_late .isoformat ()} '
186
+ f'&expires_after={ target_time .isoformat ()} '
187
+ )
188
+
189
+ self .assertEqual (response .status_code , 400 )
190
+ errors = list (response .json ())
191
+ self .assertIn ("expires_before" , errors )
192
+ self .assertIn ("expires_after" , errors )
193
+
180
194
def test_filter_manytypes (self ):
181
195
url = reverse ('bot:infraction-list' , host = 'api' )
182
196
response = self .client .get (f'{ url } ?types=mute,ban' )
@@ -185,6 +199,14 @@ def test_filter_manytypes(self):
185
199
infractions = response .json ()
186
200
self .assertEqual (len (infractions ), 3 )
187
201
202
+ def test_types_type_invalid (self ):
203
+ url = reverse ('bot:infraction-list' , host = 'api' )
204
+ response = self .client .get (f'{ url } ?types=mute,ban&type=superstar' )
205
+
206
+ self .assertEqual (response .status_code , 400 )
207
+ errors = list (response .json ())
208
+ self .assertEqual ("types" , errors [0 ])
209
+
188
210
def test_sort_expiresby (self ):
189
211
url = reverse ('bot:infraction-list' , host = 'api' )
190
212
response = self .client .get (f'{ url } ?ordering=expires_at&permanent=false' )
0 commit comments