From 63e22c3166610c78d8b5067b5d5da76653c37ca1 Mon Sep 17 00:00:00 2001 From: kdeterme Date: Sun, 16 Aug 2026 10:59:23 +0200 Subject: [PATCH] test: localize home widget tests and update admin display to use mark_safe for conditions overview --- streetup/home/admin.py | 2 +- streetup/home/tests.py | 26 +++++++++++++++++++++++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/streetup/home/admin.py b/streetup/home/admin.py index 41d92c9..2579028 100644 --- a/streetup/home/admin.py +++ b/streetup/home/admin.py @@ -58,7 +58,7 @@ class HomeWidgetAdmin(admin.ModelAdmin): groups = obj.condition_groups.filter(is_active=True).order_by('priority') if not groups.exists(): - return format_html( + return mark_safe( 'Aucun groupe — visible pour tous' ) diff --git a/streetup/home/tests.py b/streetup/home/tests.py index 60d13a7..28c6a24 100644 --- a/streetup/home/tests.py +++ b/streetup/home/tests.py @@ -245,10 +245,34 @@ class HomeIndexViewTests(TestCase): # Create the widget HomeWidget.objects.create(widget_code='intervention_on_pause') - response = self.client.get(reverse('home:index')) + response = self.client.get(reverse('home:index'), HTTP_ACCEPT_LANGUAGE='fr') self.assertEqual(response.status_code, 200) self.assertContains(response, 'Interventions en pause') self.assertContains(response, 'status=on_pause') +class HomeWidgetAdminTests(TestCase): + def setUp(self): + from django.contrib.admin.sites import AdminSite + from home.admin import HomeWidgetAdmin + self.site = AdminSite() + self.admin = HomeWidgetAdmin(HomeWidget, self.site) + self.widget = HomeWidget.objects.create(widget_code='intervention_stats') + + def test_conditions_overview_no_groups(self): + html = self.admin.conditions_overview(self.widget) + self.assertIn('Aucun groupe — visible pour tous', html) + + def test_conditions_overview_with_groups(self): + group = HomeWidgetConditionGroup.objects.create( + widget=self.widget, + label='Group 1', + order=1, + priority=1 + ) + html = self.admin.conditions_overview(self.widget) + self.assertIn('Group 1', html) + + +