From 123a58bf7d09c804eb502220278ef9e1346538cd Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Fri, 10 Jan 2020 11:51:14 -0500 Subject: [PATCH] Add tests for Graph rendering --- netbox/extras/tests/test_models.py | 46 ++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 netbox/extras/tests/test_models.py diff --git a/netbox/extras/tests/test_models.py b/netbox/extras/tests/test_models.py new file mode 100644 index 000000000..6a74ef85f --- /dev/null +++ b/netbox/extras/tests/test_models.py @@ -0,0 +1,46 @@ +from django.contrib.contenttypes.models import ContentType +from django.test import TestCase + +from dcim.models import Site +from extras.choices import ExportTemplateLanguageChoices +from extras.models import Graph + + +class GraphTest(TestCase): + + def setUp(self): + + self.site = Site(name='Site 1', slug='site-1') + + def test_graph_render_django(self): + + # Using the pluralize filter as a sanity check (it's only available in Django) + TEMPLATE_TEXT = "{{ obj.name|lower }} thing{{ 2|pluralize }}" + RENDERED_TEXT = "site 1 things" + + graph = Graph( + type=ContentType.objects.get(app_label='dcim', model='site'), + name='Graph 1', + template_language=ExportTemplateLanguageChoices.LANGUAGE_DJANGO, + source=TEMPLATE_TEXT, + link=TEMPLATE_TEXT + ) + + self.assertEqual(graph.embed_url(self.site), RENDERED_TEXT) + self.assertEqual(graph.embed_link(self.site), RENDERED_TEXT) + + def test_graph_render_jinja2(self): + + TEMPLATE_TEXT = "{{ [obj.name, obj.slug]|join(',') }}" + RENDERED_TEXT = "Site 1,site-1" + + graph = Graph( + type=ContentType.objects.get(app_label='dcim', model='site'), + name='Graph 1', + template_language=ExportTemplateLanguageChoices.LANGUAGE_JINJA2, + source=TEMPLATE_TEXT, + link=TEMPLATE_TEXT + ) + + self.assertEqual(graph.embed_url(self.site), RENDERED_TEXT) + self.assertEqual(graph.embed_link(self.site), RENDERED_TEXT)