Skip to content

Commit 6480710

Browse files
committed
Add failing tests
This commit adds tests for a new startmermaid block tag. To ensure maximum compatibility, I repurpose the existing tests to both check the simple and block tags.
1 parent 23c9c27 commit 6480710

File tree

1 file changed

+47
-10
lines changed

1 file changed

+47
-10
lines changed

tests/test_tag.py

Lines changed: 47 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@
77
from django.test import override_settings
88
from django_mermaid.templatetags import DEFAULT_THEME
99

10+
import pytest
11+
1012
try:
1113
import site
1214

@@ -17,9 +19,16 @@
1719
site_packages = sysconfig.get_paths()["purelib"]
1820

1921

20-
def test_tag_use_in_template(version):
22+
@pytest.mark.parametrize(
23+
"template_code",
24+
[
25+
"{% load mermaid %}{% mermaid content %}",
26+
"{% load mermaid %}{% startmermaid %}{{ content|safe }}{% endmermaid %}"
27+
]
28+
)
29+
def test_tag_use_in_template(version, template_code):
2130
theme = getattr(settings, "MERMAID_THEME", DEFAULT_THEME)
22-
template = Template("{% load mermaid %}{% mermaid content %}")
31+
template = Template(template_code)
2332
template = template.render(Context({"content": "graph LR; A-->B;"}))
2433
assert template == (
2534
"<div class=\"mermaid\">graph LR; A-->B;</div><script src=\"mermaid/%s/mermaid.js\"></script>"
@@ -29,8 +38,15 @@ def test_tag_use_in_template(version):
2938

3039

3140
@override_settings(MERMAID_THEME="forest")
32-
def test_tag_use_settings_theme(version):
33-
template = Template("{% load mermaid %}{% mermaid content %}")
41+
@pytest.mark.parametrize(
42+
"template_code",
43+
[
44+
"{% load mermaid %}{% mermaid content %}",
45+
"{% load mermaid %}{% startmermaid %}{{ content|safe }}{% endmermaid %}"
46+
]
47+
)
48+
def test_tag_use_settings_theme(version, template_code):
49+
template = Template(template_code)
3450
template = template.render(Context({"content": "graph LR; A-->B;"}))
3551
assert template == (
3652
"<div class=\"mermaid\">graph LR; A-->B;</div><script src=\"mermaid/%s/mermaid.js\"></script>"
@@ -39,8 +55,15 @@ def test_tag_use_settings_theme(version):
3955
)
4056

4157

42-
def test_tag_use_custom_theme(version):
43-
template = Template("{% load mermaid %}{% mermaid content \"dark\" %}")
58+
@pytest.mark.parametrize(
59+
"template_code",
60+
[
61+
"{% load mermaid %}{% mermaid content \"dark\" %}",
62+
"{% load mermaid %}{% startmermaid \"dark\" %}{{ content|safe }}{% endmermaid %}"
63+
]
64+
)
65+
def test_tag_use_custom_theme(version, template_code):
66+
template = Template(template_code)
4467
template = template.render(Context({"content": "graph LR; A-->B;"}))
4568
assert template == (
4669
"<div class=\"mermaid\">graph LR; A-->B;</div><script src=\"mermaid/%s/mermaid.js\"></script>"
@@ -50,8 +73,15 @@ def test_tag_use_custom_theme(version):
5073

5174

5275
@override_settings(MERMAID_THEME_VARIABLES={"primaryColor": "red"})
53-
def test_tag_use_custom_theme_variables(version):
54-
template = Template("{% load mermaid %}{% mermaid content \"dark\" %}")
76+
@pytest.mark.parametrize(
77+
"template_code",
78+
[
79+
"{% load mermaid %}{% mermaid content \"dark\" %}",
80+
"{% load mermaid %}{% startmermaid \"dark\" %}{{ content|safe }}{% endmermaid %}"
81+
]
82+
)
83+
def test_tag_use_custom_theme_variables(version, template_code):
84+
template = Template(template_code)
5585
template = template.render(Context({"content": "graph LR; A-->B;"}))
5686
assert template == (
5787
"<div class=\"mermaid\">graph LR; A-->B;</div><script src=\"mermaid/%s/mermaid.js\"></script>"
@@ -61,8 +91,15 @@ def test_tag_use_custom_theme_variables(version):
6191

6292

6393
@override_settings(MERMAID_THEME="base", MERMAID_THEME_VARIABLES={"primaryColor": "#efefef"})
64-
def test_tag_use_custom_theme_variables_with_base_theme(version):
65-
template = Template("{% load mermaid %}{% mermaid content %}")
94+
@pytest.mark.parametrize(
95+
"template_code",
96+
[
97+
"{% load mermaid %}{% mermaid content %}",
98+
"{% load mermaid %}{% startmermaid %}{{ content|safe }}{% endmermaid %}"
99+
]
100+
)
101+
def test_tag_use_custom_theme_variables_with_base_theme(version, template_code):
102+
template = Template(template_code)
66103
template = template.render(Context({"content": "graph LR; A-->B;"}))
67104
assert template == (
68105
"<div class=\"mermaid\">graph LR; A-->B;</div><script src=\"mermaid/%s/mermaid.js\"></script>"

0 commit comments

Comments
 (0)