Repository: wagtail/wagtail
File: wagtail/admin/tests/test_templatetags.py (Python)

Code before:

class DarkLightModeTest(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
    fixtures = ["test.json"]

    def setUp(self):
        self.request = get_dummy_request()
        self.user = self.login()
        self.request.user = self.user

        self.profile, created = UserProfile.objects.get_or_create(user=self.user)

    def test_default_mode(self):
        template = """
            {% load wagtailadmin_tags %}
            <meta name="color-scheme" content="{% admin_theme_color_scheme %}">
        """
        page = Page.objects.get(id=1)
        rendered = Template(template).render(
            Context({"page": page, "request": self.request})
        )

        soup = self.get_soup(rendered)
        meta_tag = soup.find("meta", {"name": "color-scheme"})
        self.assertIsNotNone(meta_tag)
        self.assertIn("dark", meta_tag["content"])
        self.assertIn("light", meta_tag["content"])

    def test_dark_mode(self):
        self.profile.theme = "dark"
        self.profile.save()

        template = """
            {% load wagtailadmin_tags %}
            <meta name="color-scheme" content="{% admin_theme_color_scheme %}">
        """
        page = Page.objects.get(id=1)
        rendered = Template(template).render(
            Context({"page": page, "request": self.request})
        )

        soup = self.get_soup(rendered)
        meta_tag = soup.find("meta", {"name": "color-scheme"})
        self.assertIsNotNone(meta_tag)
        self.assertIn("dark", meta_tag["content"])

    def test_light_mode(self):
        self.profile.theme = "light"
        self.profile.save()

        template = """
            {% load wagtailadmin_tags %}

Review comment (suggestion):
```suggestion
        self.assertEqual(meta_tag["content"], "dark light")
```

Code after:

class ThemeColorSchemeTest(AdminTemplateTestUtils, WagtailTestUtils, TestCase):
    def setUp(self):
        self.request = get_dummy_request()
        self.user = self.login()
        self.request.user = self.user
        self.profile = UserProfile.get_for_user(self.user)

    def test_default_mode(self):
        template = """
            {% load wagtailadmin_tags %}
            <meta name="color-scheme" content="{% admin_theme_color_scheme %}">
        """
        rendered = Template(template).render(Context({"request": self.request}))

        soup = self.get_soup(rendered)
        meta_tag = soup.find("meta", {"name": "color-scheme"})
        self.assertIsNotNone(meta_tag)
        self.assertEqual(meta_tag["content"], "dark light")

    def test_dark_mode(self):
        self.profile.theme = "dark"
        self.profile.save()

        template = """
            {% load wagtailadmin_tags %}
            <meta name="color-scheme" content="{% admin_theme_color_scheme %}">
        """
        rendered = Template(template).render(Context({"request": self.request}))

        soup = self.get_soup(rendered)
        meta_tag = soup.find("meta", {"name": "color-scheme"})
        self.assertIsNotNone(meta_tag)
        self.assertEqual(meta_tag["content"], "dark")

    def test_light_mode(self):
        self.profile.theme = "light"
        self.profile.save()

        template = """
            {% load wagtailadmin_tags %}
            <meta name="color-scheme" content="{% admin_theme_color_scheme %}">
        """
        rendered = Template(template).render(Context({"request": self.request}))

        soup = self.get_soup(rendered)
        meta_tag = soup.find("meta", {"name": "color-scheme"})
        self.assertIsNotNone(meta_tag)
        self.assertEqual(meta_tag["content"], "light")