aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--pydis_site/apps/api/tests/test_infractions.py19
-rw-r--r--pydis_site/apps/api/viewsets/bot/infraction.py2
2 files changed, 17 insertions, 4 deletions
diff --git a/pydis_site/apps/api/tests/test_infractions.py b/pydis_site/apps/api/tests/test_infractions.py
index f2641492..d717ab48 100644
--- a/pydis_site/apps/api/tests/test_infractions.py
+++ b/pydis_site/apps/api/tests/test_infractions.py
@@ -177,15 +177,28 @@ class InfractionTests(APISubdomainTestCase):
self.assertEqual(response.status_code, 400)
self.assertEqual(list(response.json())[0], "expires_before")
- def test_after_before_before_invalid(self):
+ def test_after_before_before(self):
url = reverse('bot:infraction-list', host='api')
- target_time = datetime.datetime.utcnow() + datetime.timedelta(hours=5)
- target_time_late = datetime.datetime.utcnow() + datetime.timedelta(hours=9)
+ target_time = datetime.datetime.utcnow() + datetime.timedelta(hours=4)
+ target_time_late = datetime.datetime.utcnow() + datetime.timedelta(hours=6)
response = self.client.get(
f'{url}?expires_before={target_time_late.isoformat()}'
f'&expires_after={target_time.isoformat()}'
)
+ self.assertEqual(response.status_code, 200)
+ self.assertEqual(len(response.json()), 1)
+ self.assertEqual(response.json()[0]["id"], self.superstar_expires_soon.id)
+
+ def test_after_after_before_invalid(self):
+ url = reverse('bot:infraction-list', host='api')
+ target_time = datetime.datetime.utcnow() + datetime.timedelta(hours=5)
+ target_time_late = datetime.datetime.utcnow() + datetime.timedelta(hours=9)
+ response = self.client.get(
+ f'{url}?expires_before={target_time.isoformat()}'
+ f'&expires_after={target_time_late.isoformat()}'
+ )
+
self.assertEqual(response.status_code, 400)
errors = list(response.json())
self.assertIn("expires_before", errors)
diff --git a/pydis_site/apps/api/viewsets/bot/infraction.py b/pydis_site/apps/api/viewsets/bot/infraction.py
index 00dd05b8..0baab6fd 100644
--- a/pydis_site/apps/api/viewsets/bot/infraction.py
+++ b/pydis_site/apps/api/viewsets/bot/infraction.py
@@ -195,7 +195,7 @@ class InfractionViewSet(
raise ValidationError({'expires_before': ['failed to convert to datetime']})
if 'expires_at__lte' in additional_filters and 'expires_at__gte' in additional_filters:
- if additional_filters['expires_at__gte'] < additional_filters['expires_at__lte']:
+ if additional_filters['expires_at__gte'] > additional_filters['expires_at__lte']:
raise ValidationError({
'expires_before': ['cannot be after expires_after'],
'expires_after': ['cannot be before expires_before'],