Jeremy Stretch 6 лет назад
Родитель
Сommit
123a58bf7d
1 измененных файлов с 46 добавлено и 0 удалено
  1. 46 0
      netbox/extras/tests/test_models.py

+ 46 - 0
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)