From a441b939a16482a725cab76159694a5a3e8f8e86 Mon Sep 17 00:00:00 2001 From: Johannes Christ Date: Thu, 1 May 2025 11:31:06 +0200 Subject: Update tests for DRF 3.16.0 New error messages are returned, and there appears to be an upstream bug which presently requires us to specify all attributes in the update. --- pydis_site/apps/api/tests/test_bumped_threads.py | 5 ++++- pydis_site/apps/api/tests/test_filters.py | 9 ++++++++- pydis_site/apps/api/tests/test_infractions.py | 6 +++--- pydis_site/apps/api/tests/test_nominations.py | 4 ++-- pydis_site/apps/api/tests/test_roles.py | 5 ++++- pydis_site/apps/api/tests/test_users.py | 2 +- 6 files changed, 22 insertions(+), 9 deletions(-) diff --git a/pydis_site/apps/api/tests/test_bumped_threads.py b/pydis_site/apps/api/tests/test_bumped_threads.py index 2e3892c7..fbd21e92 100644 --- a/pydis_site/apps/api/tests/test_bumped_threads.py +++ b/pydis_site/apps/api/tests/test_bumped_threads.py @@ -60,4 +60,7 @@ class BumpedThreadAPITests(AuthenticatedAPITestCase): response = self.client.get(url) self.assertEqual(response.status_code, 404) - self.assertEqual(response.json(), {"detail": "Not found."}) + self.assertEqual( + response.json(), + {"detail": "No BumpedThread matches the given query."}, + ) diff --git a/pydis_site/apps/api/tests/test_filters.py b/pydis_site/apps/api/tests/test_filters.py index 96b3a65c..831c4649 100644 --- a/pydis_site/apps/api/tests/test_filters.py +++ b/pydis_site/apps/api/tests/test_filters.py @@ -210,8 +210,15 @@ class GenericFilterTests(AuthenticatedAPITestCase): sequence.model.objects.all().delete() response = self.client.get(f"{sequence.url()}/42") + if "filter-lists" in sequence.url(): + kind = "FilterList" + else: + kind = "Filter" self.assertEqual(response.status_code, 404) - self.assertDictEqual(response.json(), {'detail': 'Not found.'}) + self.assertDictEqual( + response.json(), + {'detail': f"No {kind} matches the given query."}, + ) def test_creation(self) -> None: for name, sequence in get_test_sequences().items(): diff --git a/pydis_site/apps/api/tests/test_infractions.py b/pydis_site/apps/api/tests/test_infractions.py index 82722285..4830833c 100644 --- a/pydis_site/apps/api/tests/test_infractions.py +++ b/pydis_site/apps/api/tests/test_infractions.py @@ -329,7 +329,7 @@ class InfractionTests(AuthenticatedAPITestCase): def test_partial_update_returns_400_for_frozen_field(self): url = reverse('api:bot:infraction-detail', args=(self.ban_hidden.id,)) - data = {'user': 6} + data = {'user': 6, 'active': True} response = self.client.patch(url, data=data) self.assertEqual(response.status_code, 400) @@ -559,7 +559,7 @@ class CreationTests(AuthenticatedAPITestCase): second_response.json(), { 'non_field_errors': [ - 'This user already has an active infraction of this type.' + 'The fields user, type must make a unique set.' ] } ) @@ -824,7 +824,7 @@ class SerializerTests(AuthenticatedAPITestCase): self.create_infraction('ban', active=True) instance = self.create_infraction('ban', active=False) - data = {'reason': 'hello'} + data = {'reason': 'hello', 'active': True} serializer = InfractionSerializer(instance, data=data, partial=True) self.assertTrue(serializer.is_valid(), msg=serializer.errors) diff --git a/pydis_site/apps/api/tests/test_nominations.py b/pydis_site/apps/api/tests/test_nominations.py index e4dfe36a..7c6f1bbb 100644 --- a/pydis_site/apps/api/tests/test_nominations.py +++ b/pydis_site/apps/api/tests/test_nominations.py @@ -379,7 +379,7 @@ class NominationTests(AuthenticatedAPITestCase): response = self.client.get(url, data={}) self.assertEqual(response.status_code, 404) self.assertEqual(response.json(), { - "detail": "Not found." + "detail": "No Nomination matches the given query." }) def test_returns_404_on_patch_unknown_nomination(self): @@ -391,7 +391,7 @@ class NominationTests(AuthenticatedAPITestCase): response = self.client.patch(url, data={}) self.assertEqual(response.status_code, 404) self.assertEqual(response.json(), { - "detail": "Not found." + "detail": "No Nomination matches the given query." }) def test_returns_405_on_list_put(self): diff --git a/pydis_site/apps/api/tests/test_roles.py b/pydis_site/apps/api/tests/test_roles.py index d3031990..da879b00 100644 --- a/pydis_site/apps/api/tests/test_roles.py +++ b/pydis_site/apps/api/tests/test_roles.py @@ -208,4 +208,7 @@ class CreationTests(AuthenticatedAPITestCase): for method in ('get', 'put', 'patch', 'delete'): response = getattr(self.client, method)(url) self.assertEqual(response.status_code, 404) - self.assertJSONEqual(response.content, '{"detail": "Not found."}') + self.assertJSONEqual( + response.content, + '{"detail": "No Role matches the given query."}', + ) diff --git a/pydis_site/apps/api/tests/test_users.py b/pydis_site/apps/api/tests/test_users.py index 3799b631..99673e53 100644 --- a/pydis_site/apps/api/tests/test_users.py +++ b/pydis_site/apps/api/tests/test_users.py @@ -746,7 +746,7 @@ class UserAltUpdateTests(AuthenticatedAPITestCase): response = self.client.post(repeated_url, repeated_data) self.assertEqual(response.status_code, 400) self.assertEqual(response.json(), { - 'source': ["This relationship has already been established"] + 'non_field_errors': ["The fields source, target must make a unique set."] }) def test_removing_existing_alt_source_from_target(self) -> None: -- cgit v1.2.3