diff options
Diffstat (limited to 'pydis_site/apps/api')
| -rw-r--r-- | pydis_site/apps/api/tests/test_infractions.py | 19 | ||||
| -rw-r--r-- | pydis_site/apps/api/viewsets/bot/infraction.py | 2 | 
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'], | 
