2
0
mirror of https://github.com/inventree/InvenTree.git synced 2026-04-03 10:01:07 +00:00

Tweak unit testing

This commit is contained in:
Oliver Walters
2025-11-26 02:25:11 +00:00
parent 3268156410
commit 602f071405
5 changed files with 23 additions and 20 deletions

View File

@@ -2631,7 +2631,7 @@ class Parameter(
from plugin import PluginMixinEnum, registry from plugin import PluginMixinEnum, registry
for plugin in registry.with_mixin(PluginMixinEnum.VALIDATION): for plugin in registry.with_mixin(PluginMixinEnum.VALIDATION):
# Note: The validate_part_parameter function may raise a ValidationError # Note: The validate_parameter function may raise a ValidationError
try: try:
if hasattr(plugin, 'validate_parameter'): if hasattr(plugin, 'validate_parameter'):
result = plugin.validate_parameter(self, self.data) result = plugin.validate_parameter(self, self.data)

View File

@@ -236,9 +236,7 @@ class PartCategoryAPITest(InvenTreeAPITestCase):
n = ParameterTemplate.objects.count() n = ParameterTemplate.objects.count()
# Ensure validation of parameter values is disabled for these checks # Ensure validation of parameter values is disabled for these checks
InvenTreeSetting.set_setting( InvenTreeSetting.set_setting('PARAMETER_ENFORCE_UNITS', False, change_user=None)
'PART_PARAMETER_ENFORCE_UNITS', False, change_user=None
)
for template in ParameterTemplate.objects.all(): for template in ParameterTemplate.objects.all():
response = self.post( response = self.post(

View File

@@ -252,9 +252,7 @@ class ParameterTests(TestCase):
raise ValueError('This test must be refactored...') raise ValueError('This test must be refactored...')
# Disable enforcing of part parameter units # Disable enforcing of part parameter units
InvenTreeSetting.set_setting( InvenTreeSetting.set_setting('PARAMETER_ENFORCE_UNITS', False, change_user=None)
'PART_PARAMETER_ENFORCE_UNITS', False, change_user=None
)
# Invalid units also pass, but will be converted to the template units # Invalid units also pass, but will be converted to the template units
for value in bad_values: for value in bad_values:
@@ -262,9 +260,7 @@ class ParameterTests(TestCase):
param.full_clean() param.full_clean()
# Enable enforcing of part parameter units # Enable enforcing of part parameter units
InvenTreeSetting.set_setting( InvenTreeSetting.set_setting('PARAMETER_ENFORCE_UNITS', True, change_user=None)
'PART_PARAMETER_ENFORCE_UNITS', True, change_user=None
)
for value in bad_values: for value in bad_values:
param = Parameter(content_object=prt, template=template, data=value) param = Parameter(content_object=prt, template=template, data=value)

View File

@@ -353,6 +353,15 @@ def parameter(
) )
@register.simple_tag()
def part_parametr(instance, parameter_name):
"""Included for backwards compatibility - use 'parameter' tag instead.
Ref: https://github.com/inventree/InvenTree/pull/10699
"""
return parameter(instance, parameter_name)
@register.simple_tag() @register.simple_tag()
def company_image( def company_image(
company: Company, preview: bool = False, thumbnail: bool = False, **kwargs company: Company, preview: bool = False, thumbnail: bool = False, **kwargs

View File

@@ -12,7 +12,7 @@ from django.utils.safestring import SafeString
from djmoney.money import Money from djmoney.money import Money
from PIL import Image from PIL import Image
from common.models import InvenTreeSetting from common.models import InvenTreeSetting, Parameter, ParameterTemplate
from InvenTree.config import get_testfolder_dir from InvenTree.config import get_testfolder_dir
from InvenTree.unit_test import InvenTreeTestCase from InvenTree.unit_test import InvenTreeTestCase
from part.models import Part # TODO fix import: PartParameter, PartParameterTemplate from part.models import Part # TODO fix import: PartParameter, PartParameterTemplate
@@ -406,16 +406,16 @@ class ReportTagTest(PartImageTestMixin, InvenTreeTestCase):
def test_part_parameter(self): def test_part_parameter(self):
"""Test the part_parameter template tag.""" """Test the part_parameter template tag."""
# TODO fix import: PartParameter, PartParameterTemplate # Test with a valid part
# # Test with a valid part part = Part.objects.create(name='test', description='test')
# part = Part.objects.create(name='test', description='test') t1 = ParameterTemplate.objects.create(name='Template 1', units='mm')
# t1 = PartParameterTemplate.objects.create(name='Template 1', units='mm') parameter = Parameter.objects.create(part=part, template=t1, data='test')
# parameter = PartParameter.objects.create(part=part, template=t1, data='test')
# self.assertEqual(report_tags.part_parameter(part, 'name'), None) # Note, use the 'parameter' and 'part_parameter' tags interchangeably here
# self.assertEqual(report_tags.part_parameter(part, 'Template 1'), parameter) self.assertEqual(report_tags.part_parameter(part, 'name'), None)
# # Test with an invalid part self.assertEqual(report_tags.parameter(part, 'Template 1'), parameter)
# self.assertEqual(report_tags.part_parameter(None, 'name'), None) # Test with an invalid part
self.assertEqual(report_tags.parameter(None, 'name'), None)
def test_render_currency(self): def test_render_currency(self):
"""Test the render_currency template tag.""" """Test the render_currency template tag."""