From 508b04af1985faa8cde9b8e90487d41d919c297a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kucharczyk?= Date: Tue, 9 Jun 2026 20:06:18 +0200 Subject: [PATCH] test: add explicit radio group and True/False choice checks for boolean fields --- tests/test_filter_bars.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/test_filter_bars.py b/tests/test_filter_bars.py index 40f18a7..3ba963f 100644 --- a/tests/test_filter_bars.py +++ b/tests/test_filter_bars.py @@ -337,3 +337,29 @@ class FilterBarRenderingTest(TestCase): 'name="filter-date-refunded-max" id="filter-date-refunded-max" value=""', html, ) + + def test_boolean_fields_render_as_radio_groups(self): + """Boolean fields must render as radio groups with True/False choices.""" + from common.components import FilterBar, SessionFilterBar, PurchaseFilterBar + + # 1. Games Filter Bar + games_html = str(FilterBar(filter_json="")) + self.assertIn('type="radio"', games_html) + self.assertIn('name="filter-mastered"', games_html) + self.assertIn('value="true"', games_html) + self.assertIn('value="false"', games_html) + + # 2. Session Filter Bar + session_html = str(SessionFilterBar(filter_json="")) + self.assertIn('type="radio"', session_html) + self.assertIn('name="filter-emulated"', session_html) + self.assertIn('value="true"', session_html) + self.assertIn('value="false"', session_html) + + # 3. Purchase Filter Bar + purchase_html = str(PurchaseFilterBar(filter_json="")) + self.assertIn('type="radio"', purchase_html) + self.assertIn('name="filter-refunded"', purchase_html) + self.assertIn('value="true"', purchase_html) + self.assertIn('value="false"', purchase_html) +