From 5408898145d6f38b54abcb7a34c82f06aba23eb6 Mon Sep 17 00:00:00 2001 From: Oliver Walters Date: Wed, 26 Nov 2025 06:00:33 +0000 Subject: [PATCH] More unit test tweaks --- src/backend/InvenTree/report/templatetags/report.py | 7 +++++-- src/backend/InvenTree/report/test_tags.py | 10 ++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/backend/InvenTree/report/templatetags/report.py b/src/backend/InvenTree/report/templatetags/report.py index 0c1dcab6e6..6329b5a9dc 100644 --- a/src/backend/InvenTree/report/templatetags/report.py +++ b/src/backend/InvenTree/report/templatetags/report.py @@ -343,7 +343,10 @@ def parameter( Returns: A Parameter object, or None if not found """ - if not hasattr(instance, 'parameters'): + if instance is None: + raise ValueError('parameter tag requires a valid Model instance') + + if not isinstance(instance, Model) or not hasattr(instance, 'parameters'): raise TypeError("parameter tag requires a Model with 'parameters' attribute") return ( @@ -354,7 +357,7 @@ def parameter( @register.simple_tag() -def part_parametr(instance, parameter_name): +def part_parameter(instance, parameter_name): """Included for backwards compatibility - use 'parameter' tag instead. Ref: https://github.com/inventree/InvenTree/pull/10699 diff --git a/src/backend/InvenTree/report/test_tags.py b/src/backend/InvenTree/report/test_tags.py index 6fdaf5cbe4..337b46e6b2 100644 --- a/src/backend/InvenTree/report/test_tags.py +++ b/src/backend/InvenTree/report/test_tags.py @@ -419,8 +419,14 @@ class ReportTagTest(PartImageTestMixin, InvenTreeTestCase): # Note, use the 'parameter' and 'part_parameter' tags interchangeably here self.assertEqual(report_tags.part_parameter(part, 'name'), None) self.assertEqual(report_tags.parameter(part, 'Template 1'), parameter) - # Test with an invalid part - self.assertEqual(report_tags.parameter(None, 'name'), None) + + # Test with a null part + with self.assertRaises(ValueError): + report_tags.parameter(None, 'name') + + # Test with an invalid model type + with self.assertRaises(TypeError): + report_tags.parameter(parameter, 'name') def test_render_currency(self): """Test the render_currency template tag."""