diff --git a/InvenTree/InvenTree/ci_render_js.py b/InvenTree/InvenTree/ci_render_js.py index 824fe5d7e3..1be38df107 100644 --- a/InvenTree/InvenTree/ci_render_js.py +++ b/InvenTree/InvenTree/ci_render_js.py @@ -4,7 +4,7 @@ only used for testing the js files! - This file is omited from coverage """ import os # pragma: no cover -import pathlib +import pathlib # pragma: no cover from InvenTree.helpers import InvenTreeTestCase # pragma: no cover diff --git a/InvenTree/InvenTree/tests.py b/InvenTree/InvenTree/tests.py index 5bb97ae934..f306cce32a 100644 --- a/InvenTree/InvenTree/tests.py +++ b/InvenTree/InvenTree/tests.py @@ -412,7 +412,7 @@ class CurrencyTests(TestCase): update_successful = True break - else: + else: # pragma: no cover print("Exchange rate update failed - retrying") time.sleep(1) diff --git a/InvenTree/common/tests.py b/InvenTree/common/tests.py index 66f9846043..b325d50170 100644 --- a/InvenTree/common/tests.py +++ b/InvenTree/common/tests.py @@ -156,14 +156,14 @@ class SettingsTest(InvenTreeTestCase): try: self.run_settings_check(key, setting) - except Exception as exc: + except Exception as exc: # pragma: no cover print(f"run_settings_check failed for global setting '{key}'") raise exc for key, setting in InvenTreeUserSetting.SETTINGS.items(): try: self.run_settings_check(key, setting) - except Exception as exc: + except Exception as exc: # pragma: no cover print(f"run_settings_check failed for user setting '{key}'") raise exc @@ -501,8 +501,12 @@ class PluginSettingsApiTest(InvenTreeAPITestCase): """List installed plugins via API""" url = reverse('api-plugin-list') + # Simple request self.get(url, expected_code=200) + # Request with filter + self.get(url, expected_code=200, data={'mixin': 'settings'}) + def test_api_list(self): """Test list URL""" url = reverse('api-plugin-setting-list') diff --git a/InvenTree/part/test_part.py b/InvenTree/part/test_part.py index e6d01e9aa9..d3b8e85a02 100644 --- a/InvenTree/part/test_part.py +++ b/InvenTree/part/test_part.py @@ -58,7 +58,7 @@ class TemplateTagTest(InvenTreeTestCase): def test_hash(self): result_hash = inventree_extras.inventree_commit_hash() - if settings.DOCKER: + if settings.DOCKER: # pragma: no cover # Testing inside docker environment *may* return an empty git commit hash # In such a case, skip this check pass @@ -67,7 +67,7 @@ class TemplateTagTest(InvenTreeTestCase): def test_date(self): d = inventree_extras.inventree_commit_date() - if settings.DOCKER: + if settings.DOCKER: # pragma: no cover # Testing inside docker environment *may* return an empty git commit hash # In such a case, skip this check pass diff --git a/InvenTree/plugin/apps.py b/InvenTree/plugin/apps.py index 9f9cb15d1a..2a1ef9f71a 100644 --- a/InvenTree/plugin/apps.py +++ b/InvenTree/plugin/apps.py @@ -20,7 +20,7 @@ class PluginAppConfig(AppConfig): def ready(self): if settings.PLUGINS_ENABLED: if not canAppAccessDatabase(allow_test=True): - logger.info("Skipping plugin loading sequence") + logger.info("Skipping plugin loading sequence") # pragma: no cover else: logger.info('Loading InvenTree plugins') @@ -48,4 +48,4 @@ class PluginAppConfig(AppConfig): log_error(_('Your enviroment has an outdated git version. This prevents InvenTree from loading plugin details.'), 'load') else: - logger.info("Plugins not enabled - skipping loading sequence") + logger.info("Plugins not enabled - skipping loading sequence") # pragma: no cover diff --git a/InvenTree/plugin/base/integration/mixins.py b/InvenTree/plugin/base/integration/mixins.py index 18b4cb0fd4..fef2a51681 100644 --- a/InvenTree/plugin/base/integration/mixins.py +++ b/InvenTree/plugin/base/integration/mixins.py @@ -57,10 +57,10 @@ class SettingsMixin: except (OperationalError, ProgrammingError): # pragma: no cover plugin = None - if not plugin: + if not plugin: # pragma: no cover # Cannot find associated plugin model, return logger.error(f"Plugin configuration not found for plugin '{self.slug}'") - return # pragma: no cover + return PluginSetting.set_setting(key, value, user, plugin=plugin) diff --git a/InvenTree/users/tests.py b/InvenTree/users/tests.py index 5678c8d6da..393b640d2e 100644 --- a/InvenTree/users/tests.py +++ b/InvenTree/users/tests.py @@ -180,11 +180,23 @@ class OwnerModelTest(InvenTreeTestCase): group_as_owner = Owner.get_owner(self.group) self.assertEqual(type(group_as_owner), Owner) + # Check name + self.assertEqual(str(user_as_owner), 'testuser (user)') + # Get related owners (user + group) related_owners = group_as_owner.get_related_owners(include_group=True) self.assertTrue(user_as_owner in related_owners) self.assertTrue(group_as_owner in related_owners) + # Get related owners (only user) + related_owners = group_as_owner.get_related_owners(include_group=False) + self.assertTrue(user_as_owner in related_owners) + self.assertFalse(group_as_owner in related_owners) + + # Get related owners on user + related_owners = user_as_owner.get_related_owners() + self.assertEqual(related_owners, [user_as_owner]) + # Check owner matching owners = Owner.get_owners_matching_user(self.user) self.assertEqual(owners, [user_as_owner, group_as_owner])