Merge pull request #2936 from matmair/test_tags

Test more templatetags
This commit is contained in:
Oliver 2022-05-06 12:16:14 +10:00 committed by GitHub
commit 1b7172b57e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 59 additions and 7 deletions

View File

@ -540,7 +540,7 @@ class I18nStaticNode(StaticNode):
custom StaticNode
replaces a variable named *lng* in the path with the current language
"""
def render(self, context):
def render(self, context): # pragma: no cover
self.original = getattr(self, 'original', None)
@ -564,7 +564,7 @@ if settings.DEBUG:
""" simple tag to enable {% url %} functionality instead of {% static %} """
return reverse(url_name)
else:
else: # pragma: no cover
@register.tag('i18n_static')
def do_i18n_static(parser, token):

View File

@ -18,17 +18,51 @@ from .templatetags import inventree_extras
import part.settings
from InvenTree import version
from common.models import InvenTreeSetting, NotificationEntry, NotificationMessage
class TemplateTagTest(TestCase):
""" Tests for the custom template tag code """
def setUp(self):
# Create a user for auth
user = get_user_model()
self.user = user.objects.create_user('testuser', 'test@testing.com', 'password')
self.client.login(username='testuser', password='password')
def test_define(self):
self.assertEqual(int(inventree_extras.define(3)), 3)
def test_str2bool(self):
self.assertEqual(int(inventree_extras.str2bool('true')), True)
self.assertEqual(int(inventree_extras.str2bool('yes')), True)
self.assertEqual(int(inventree_extras.str2bool('none')), False)
self.assertEqual(int(inventree_extras.str2bool('off')), False)
def test_inrange(self):
self.assertEqual(inventree_extras.inrange(3), range(3))
def test_multiply(self):
self.assertEqual(int(inventree_extras.multiply(3, 5)), 15)
def test_version(self):
self.assertEqual(type(inventree_extras.inventree_version()), str)
def test_add(self):
self.assertEqual(int(inventree_extras.add(3, 5)), 8)
def test_plugins_enabled(self):
self.assertEqual(inventree_extras.plugins_enabled(), True)
def test_inventree_instance_name(self):
self.assertEqual(inventree_extras.inventree_instance_name(), 'InvenTree server')
def test_inventree_base_url(self):
self.assertEqual(inventree_extras.inventree_base_url(), '')
def test_inventree_is_release(self):
self.assertEqual(inventree_extras.inventree_is_release(), not version.isInvenTreeDevelopmentVersion())
def test_inventree_docs_version(self):
self.assertEqual(inventree_extras.inventree_docs_version(), version.inventreeDocsVersion())
def test_hash(self):
result_hash = inventree_extras.inventree_commit_hash()
@ -44,6 +78,24 @@ class TemplateTagTest(TestCase):
def test_docs(self):
self.assertIn('inventree.readthedocs.io', inventree_extras.inventree_docs_url())
def test_keyvalue(self):
self.assertEqual(inventree_extras.keyvalue({'a': 'a'}, 'a'), 'a')
def test_mail_configured(self):
self.assertEqual(inventree_extras.mail_configured(), False)
def test_user_settings(self):
result = inventree_extras.user_settings(self.user)
self.assertEqual(len(result), 36)
def test_global_settings(self):
result = inventree_extras.global_settings()
self.assertEqual(len(result), 61)
def test_visible_global_settings(self):
result = inventree_extras.visible_global_settings()
self.assertEqual(len(result), 60)
class PartTest(TestCase):
""" Tests for the Part model """

View File

@ -15,5 +15,5 @@ class PluginTemplateLoader(FilesystemLoader):
for plugin in registry.plugins.values():
new_path = Path(plugin.path) / dirname
if Path(new_path).is_dir():
template_dirs.append(new_path)
template_dirs.append(new_path) # pragma: no cover
return tuple(template_dirs)

View File

@ -80,7 +80,7 @@ class InvenTreePluginBase():
if cfg:
return cfg.active
else:
return False
return False # pragma: no cover
# TODO @matmair remove after InvenTree 0.7.0 release

View File

@ -503,7 +503,7 @@ class PluginsRegistry:
try:
# for local path plugins
plugin_path = '.'.join(pathlib.Path(plugin.path).relative_to(settings.BASE_DIR).parts)
except ValueError:
except ValueError: # pragma: no cover
# plugin is shipped as package
plugin_path = plugin.PLUGIN_NAME
return plugin_path