mirror of
https://github.com/dtomlinson91/tembo.git
synced 2025-12-22 08:15:45 +00:00
adding latest tests
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
import pathlib
|
||||
|
||||
import pytest
|
||||
import jinja2
|
||||
|
||||
from tembo.journal.pages import PageCreator
|
||||
from tembo.journal.pages import PageCreator, ScopedPageCreator
|
||||
|
||||
|
||||
def test_page_creator_convert_to_path_missing_base_path(caplog):
|
||||
@@ -46,10 +47,11 @@ def test_page_creator_convert_to_path_full_path_to_file(
|
||||
/ pathlib.Path(page_path)
|
||||
/ pathlib.Path(filename).with_suffix(f".{extension}")
|
||||
)
|
||||
base_path = tmpdir
|
||||
|
||||
# act
|
||||
converted_path = PageCreator._convert_to_path(
|
||||
tmpdir, page_path, filename, extension
|
||||
base_path, page_path, filename, extension
|
||||
)
|
||||
|
||||
# assert
|
||||
@@ -59,9 +61,66 @@ def test_page_creator_convert_to_path_full_path_to_file(
|
||||
def test_page_creator_convert_to_path_full_path_no_file(tmpdir):
|
||||
# arrange
|
||||
full_path = pathlib.Path("/some/path")
|
||||
base_path = ""
|
||||
page_path = "/some/path"
|
||||
filename = ""
|
||||
extension = ""
|
||||
|
||||
# act
|
||||
converted_path = PageCreator._convert_to_path("", "/some/path", "", "")
|
||||
converted_path = PageCreator._convert_to_path(
|
||||
base_path, page_path, filename, extension
|
||||
)
|
||||
|
||||
# assert
|
||||
assert str(full_path).replace(" ", "_") == str(converted_path)
|
||||
|
||||
|
||||
def test_page_creator_load_template_with_base_path_success(datadir):
|
||||
# arrange
|
||||
# default template_path would be datadir/.templates
|
||||
base_path = str(datadir)
|
||||
template_filename = "some_template.md.tpl"
|
||||
|
||||
# act
|
||||
template_contents = ScopedPageCreator()._load_template(
|
||||
base_path, template_filename, None
|
||||
)
|
||||
|
||||
# assert
|
||||
assert template_contents == "template contents"
|
||||
|
||||
|
||||
def test_page_creator_load_template_overriden_template_path_success(datadir):
|
||||
# arrange
|
||||
base_path = str(datadir)
|
||||
template_filename = "some_template.md.tpl"
|
||||
template_path = str(datadir / ".templates")
|
||||
|
||||
# act
|
||||
# we explicitly pass in the template_path to override the default
|
||||
template_contents = ScopedPageCreator()._load_template(
|
||||
base_path, template_filename, template_path
|
||||
)
|
||||
|
||||
# assert
|
||||
assert template_contents == "template contents"
|
||||
|
||||
|
||||
def test_page_creator_load_template_missing_template_file(datadir, caplog):
|
||||
# arrange
|
||||
base_path = str(datadir)
|
||||
template_filename = "some_nonexistent_template.md.tpl"
|
||||
template_path = str(datadir / ".templates")
|
||||
|
||||
# act
|
||||
with pytest.raises(SystemExit) as system_exit:
|
||||
template_contents = ScopedPageCreator()._load_template(
|
||||
base_path, template_filename, template_path
|
||||
)
|
||||
|
||||
# assert
|
||||
assert system_exit.value.code == 1
|
||||
assert (
|
||||
caplog.records[0].message
|
||||
== f"Template file {template_path}/some_nonexistent_template.md.tpl not found - exiting"
|
||||
)
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
template contents
|
||||
Reference in New Issue
Block a user