diff --git a/app/formatters.py b/app/formatters.py index 241172650..02b0061d4 100644 --- a/app/formatters.py +++ b/app/formatters.py @@ -24,12 +24,15 @@ from app.utils.csv import get_user_preferred_timezone from app.utils.time import parse_naive_dt -def convert_markdown_template(mdf): - APP_ROOT = get_root_path('notifications-admin') - file = 'app/content/' + mdf + '.md' - md_file = os.path.join(APP_ROOT, file) - with open(md_file) as f: - content_text = f.read() +def convert_markdown_template(mdf, test=False): + if not test: + APP_ROOT = get_root_path('notifications-admin') + file = 'app/content/' + mdf + '.md' + md_file = os.path.join(APP_ROOT, file) + with open(md_file) as f: + content_text = f.read() + else: + content_text = mdf md_render = markdown.markdown(content_text) jn_render = render_template_string(md_render) diff --git a/tests/app/main/test_formatters.py b/tests/app/main/test_formatters.py index 46e76da0d..b48f64316 100644 --- a/tests/app/main/test_formatters.py +++ b/tests/app/main/test_formatters.py @@ -1,8 +1,9 @@ from datetime import datetime from functools import partial + import pytest -from flask import url_for +from flask import url_for, Flask from freezegun import freeze_time from app.formatters import ( @@ -12,6 +13,13 @@ from app.formatters import ( format_notification_status_as_url, format_number_in_pounds_as_currency, round_to_significant_figures, + convert_markdown_template +) + +from tests.conftest import ( + fake_markdown_file, + fake_jinja_template, + notify_admin ) @@ -166,3 +174,15 @@ def test_email_safe_return_dot_separated_email_domain(service_name, safe_email): def test_format_delta(): naive_now_utc = datetime.utcnow().isoformat() assert format_delta(naive_now_utc) == "just now" + +@pytest.mark.usefixtures("fake_jinja_template") +def test_jinja_format(fake_jinja_template): + app = Flask("app") + with app.app_context(): + assert convert_markdown_template(fake_jinja_template, test=True) == "
True
" + +@pytest.mark.usefixtures("fake_markdown_file") +def test_markdown_format(fake_markdown_file): + app = Flask("app") + with app.app_context(): + assert convert_markdown_template(fake_markdown_file, test=True) == "