From baf7e4505e436b23d8de97931e8269623877d2d4 Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 6 May 2022 01:52:32 +0200 Subject: [PATCH 1/6] do not cover pacakge code - is not CI'd --- InvenTree/plugin/loader.py | 2 +- InvenTree/plugin/plugin.py | 2 +- InvenTree/plugin/registry.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/InvenTree/plugin/loader.py b/InvenTree/plugin/loader.py index aaba9fe060..538bd2358b 100644 --- a/InvenTree/plugin/loader.py +++ b/InvenTree/plugin/loader.py @@ -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) diff --git a/InvenTree/plugin/plugin.py b/InvenTree/plugin/plugin.py index b83297dcfd..c6af7f20d8 100644 --- a/InvenTree/plugin/plugin.py +++ b/InvenTree/plugin/plugin.py @@ -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 diff --git a/InvenTree/plugin/registry.py b/InvenTree/plugin/registry.py index 240bd3446b..9462b780cb 100644 --- a/InvenTree/plugin/registry.py +++ b/InvenTree/plugin/registry.py @@ -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 From 0eff4a45266112e120013b54134721f525fbe172 Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 6 May 2022 02:07:59 +0200 Subject: [PATCH 2/6] can not be covered in testing --- InvenTree/part/templatetags/inventree_extras.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/InvenTree/part/templatetags/inventree_extras.py b/InvenTree/part/templatetags/inventree_extras.py index 3eba8368af..5d991e9fd5 100644 --- a/InvenTree/part/templatetags/inventree_extras.py +++ b/InvenTree/part/templatetags/inventree_extras.py @@ -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) @@ -563,7 +563,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): From 20d552f8097a2a460d341b3e8c785687f4c37387 Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 6 May 2022 02:13:25 +0200 Subject: [PATCH 3/6] extend tag tests --- InvenTree/part/test_part.py | 55 +++++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/InvenTree/part/test_part.py b/InvenTree/part/test_part.py index 811acebc69..8cc622ba83 100644 --- a/InvenTree/part/test_part.py +++ b/InvenTree/part/test_part.py @@ -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(int(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,23 @@ 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') + + 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), 5) + + def test_global_settings(self): + result = inventree_extras.global_settings() + self.assertEqual(len(result), 20) + + def test_visible_global_settings(self): + result = inventree_extras.visible_global_settings() + self.assertEqual(len(result), 20) class PartTest(TestCase): """ Tests for the Part model """ From 33e3385830947e9ddeeb46f9c1434b2ad07f4a24 Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 6 May 2022 02:17:53 +0200 Subject: [PATCH 4/6] fix assertations --- InvenTree/part/test_part.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/InvenTree/part/test_part.py b/InvenTree/part/test_part.py index 8cc622ba83..5e183d18c4 100644 --- a/InvenTree/part/test_part.py +++ b/InvenTree/part/test_part.py @@ -41,7 +41,7 @@ class TemplateTagTest(TestCase): self.assertEqual(int(inventree_extras.str2bool('off')), False) def test_inrange(self): - self.assertEqual(int(inventree_extras.inrange(3)), range(3)) + self.assertEqual(inventree_extras.inrange(3), range(3)) def test_multiply(self): self.assertEqual(int(inventree_extras.multiply(3, 5)), 15) @@ -79,22 +79,22 @@ class TemplateTagTest(TestCase): self.assertIn('inventree.readthedocs.io', inventree_extras.inventree_docs_url()) def test_keyvalue(self): - self.assertEqual(inventree_extras.keyvalue({'a': 'a'}), 'a') + self.assertEqual(inventree_extras.keyvalue({'a': 'a'}, 'a'), 'a') def test_mail_configured(self): - self.assertEqual(inventree_extras.mail_configured(), False) + self.assertEqual(inventree_extras.mail_configured(), True) def test_user_settings(self): result = inventree_extras.user_settings(self.user) - self.assertEqual(len(result), 5) + self.assertEqual(len(result), 36) def test_global_settings(self): result = inventree_extras.global_settings() - self.assertEqual(len(result), 20) + self.assertEqual(len(result), 61) def test_visible_global_settings(self): result = inventree_extras.visible_global_settings() - self.assertEqual(len(result), 20) + self.assertEqual(len(result), 60) class PartTest(TestCase): """ Tests for the Part model """ From 2261e7a615edb5baff1ca57398dd8e3d87683095 Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 6 May 2022 02:20:38 +0200 Subject: [PATCH 5/6] PEP fix --- InvenTree/part/test_part.py | 1 + 1 file changed, 1 insertion(+) diff --git a/InvenTree/part/test_part.py b/InvenTree/part/test_part.py index 5e183d18c4..c8e07ba605 100644 --- a/InvenTree/part/test_part.py +++ b/InvenTree/part/test_part.py @@ -96,6 +96,7 @@ class TemplateTagTest(TestCase): result = inventree_extras.visible_global_settings() self.assertEqual(len(result), 60) + class PartTest(TestCase): """ Tests for the Part model """ From 09ceada63997272e3fca635de72b87f6e2b48a0a Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 6 May 2022 03:03:08 +0200 Subject: [PATCH 6/6] fix test assertation --- InvenTree/part/test_part.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/InvenTree/part/test_part.py b/InvenTree/part/test_part.py index c8e07ba605..5a5fc6b055 100644 --- a/InvenTree/part/test_part.py +++ b/InvenTree/part/test_part.py @@ -82,7 +82,7 @@ class TemplateTagTest(TestCase): self.assertEqual(inventree_extras.keyvalue({'a': 'a'}, 'a'), 'a') def test_mail_configured(self): - self.assertEqual(inventree_extras.mail_configured(), True) + self.assertEqual(inventree_extras.mail_configured(), False) def test_user_settings(self): result = inventree_extras.user_settings(self.user)