mirror of
https://github.com/inventree/InvenTree.git
synced 2025-06-16 20:15:44 +00:00
More plugin testing (#3052)
* Add a check of a child panel too * do not cover error catching * test for implementation error * Add warning to test for * Add test for event_sample * ignore safety switches * Add a settings flag to enable event testing * test if not implemented is raises * raise plugin specific errors * use plugin specific error * fix assertation * add test for mixin * this point can't be reached * add tests for locate plugin * fix assertations * fix function call * refert switch * this is already caught by the internal API * also cover mixin redirect
This commit is contained in:
@ -8,6 +8,7 @@ from error_report.models import Error
|
||||
|
||||
from InvenTree.helpers import InvenTreeTestCase
|
||||
from plugin import InvenTreePlugin
|
||||
from plugin.base.integration.mixins import PanelMixin
|
||||
from plugin.helpers import MixinNotImplementedError
|
||||
from plugin.mixins import (APICallMixin, AppMixin, NavigationMixin,
|
||||
SettingsMixin, UrlsMixin)
|
||||
@ -324,7 +325,7 @@ class PanelMixinTests(InvenTreeTestCase):
|
||||
urls = [
|
||||
reverse('part-detail', kwargs={'pk': 1}),
|
||||
reverse('stock-item-detail', kwargs={'pk': 2}),
|
||||
reverse('stock-location-detail', kwargs={'pk': 1}),
|
||||
reverse('stock-location-detail', kwargs={'pk': 2}),
|
||||
]
|
||||
|
||||
plugin.set_setting('ENABLE_HELLO_WORLD', False)
|
||||
@ -379,3 +380,13 @@ class PanelMixinTests(InvenTreeTestCase):
|
||||
|
||||
# Assert that each request threw an error
|
||||
self.assertEqual(Error.objects.count(), n_errors + len(urls))
|
||||
|
||||
def test_mixin(self):
|
||||
"""Test that ImplementationError is raised"""
|
||||
|
||||
with self.assertRaises(MixinNotImplementedError):
|
||||
class Wrong(PanelMixin, InvenTreePlugin):
|
||||
pass
|
||||
|
||||
plugin = Wrong()
|
||||
plugin.get_custom_panels('abc', 'abc')
|
||||
|
Reference in New Issue
Block a user