From 7797bd3d49e5c49fdbffc15f715ad542ae895264 Mon Sep 17 00:00:00 2001 From: zerolab Date: Sat, 8 Feb 2025 11:07:15 +0000 Subject: [PATCH] Fix tests for Wagtail 6.4+ --- .../tests/test_edit_translation.py | 55 ++++++++++++------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/wagtail_localize/tests/test_edit_translation.py b/wagtail_localize/tests/test_edit_translation.py index e62e5b0e..4bbe5a16 100644 --- a/wagtail_localize/tests/test_edit_translation.py +++ b/wagtail_localize/tests/test_edit_translation.py @@ -7,7 +7,6 @@ import polib from django.contrib.admin.utils import quote -from django.contrib.auth import get_user_model from django.contrib.auth.models import Group, Permission from django.contrib.contenttypes.models import ContentType from django.contrib.messages import get_messages @@ -25,6 +24,7 @@ ) from rest_framework.settings import api_settings from rest_framework.test import APITestCase +from wagtail import VERSION as WAGTAIL_VERSION from wagtail.admin.panels import FieldPanel, TitleFieldPanel from wagtail.blocks import StreamValue from wagtail.documents.models import Document @@ -110,27 +110,41 @@ def patched_translate_html(html): class EditTranslationTestData(WagtailTestUtils): - def setUp(self): - self.login() - self.user = get_user_model().objects.get() + @classmethod + def setUpTestData(cls): + cls.user = cls.create_test_user() + cls.moderators_group = Group.objects.get(name="Moderators") # Convert the user into an editor - self.moderators_group = Group.objects.get(name="Moderators") for permission in Permission.objects.filter( content_type=ContentType.objects.get_for_model(TestSnippet) ): - self.moderators_group.permissions.add(permission) + cls.moderators_group.permissions.add(permission) for permission in Permission.objects.filter( content_type=ContentType.objects.get_for_model(NonTranslatableSnippet) ): - self.moderators_group.permissions.add(permission) - self.user.is_superuser = False - self.user.groups.add(self.moderators_group) - self.user.save() + cls.moderators_group.permissions.add(permission) + cls.user.groups.add(cls.moderators_group) + cls.user.is_superuser = False + cls.user.save(update_fields=["is_superuser"]) + + cls.home_page = Page.objects.get(depth=2) + cls.fr_locale = Locale.objects.create(language_code="fr") + + if WAGTAIL_VERSION >= (6, 4, 0, "alpha", 0): + cls.avatar_url = ( + "//www.gravatar.com/avatar/93942e96f5acd83e2e047ad8fe03114d?d=mp&s=50" + ) + else: + cls.avatar_url = ( + "//www.gravatar.com/avatar/93942e96f5acd83e2e047ad8fe03114d?s=50&d=mm" + ) + + def setUp(self): + self.login(username=self.user.username) # Create page self.snippet = TestSnippet.objects.create(field="Test snippet") - self.home_page = Page.objects.get(depth=2) self.page = self.home_page.add_child( instance=TestPage( title="The title", @@ -152,8 +166,6 @@ def setUp(self): ) # Create translations - self.fr_locale = Locale.objects.create(language_code="fr") - self.snippet_source, created = TranslationSource.get_or_create_from_instance( self.snippet ) @@ -2305,7 +2317,7 @@ def test_create_string_translation(self): "error": None, "comment": "Translated manually on 21 August 2020", "last_translated_by": { - "avatar_url": "//www.gravatar.com/avatar/93942e96f5acd83e2e047ad8fe03114d?s=50&d=mm", + "avatar_url": self.avatar_url, "full_name": "", }, }, @@ -2353,7 +2365,7 @@ def test_update_string_translation(self): "error": None, "comment": "Translated manually on 21 August 2020", "last_translated_by": { - "avatar_url": "//www.gravatar.com/avatar/93942e96f5acd83e2e047ad8fe03114d?s=50&d=mm", + "avatar_url": self.avatar_url, "full_name": "", }, }, @@ -2401,7 +2413,7 @@ def test_update_string_translation_with_bad_html(self): "error": "