Files
blag/tests/test_templates.py
2021-03-08 21:35:51 +01:00

113 lines
2.4 KiB
Python

import datetime
import pytest
from blag import blag
@pytest.fixture
def environment():
site = {
'base_url': 'site base_url',
'title': 'site title',
'description': 'site description',
'author': 'site author',
}
env = blag.environment_factory(globals_=dict(site=site))
yield env
@pytest.fixture
def page_template(environment):
yield environment.get_template('page.html')
@pytest.fixture
def article_template(environment):
yield environment.get_template('article.html')
@pytest.fixture
def archive_template(environment):
yield environment.get_template('archive.html')
@pytest.fixture
def tags_template(environment):
yield environment.get_template('tags.html')
@pytest.fixture
def tag_template(environment):
yield environment.get_template('tag.html')
def test_page(page_template):
ctx = {
'content': 'this is the content',
'title': 'this is the title',
}
result = page_template.render(ctx)
assert 'this is the content' in result
assert 'this is the title' in result
def test_article(article_template):
ctx = {
'content': 'this is the content',
'title': 'this is the title',
}
result = article_template.render(ctx)
assert 'this is the content' in result
assert 'this is the title' in result
def test_archive(archive_template):
entry = {
'title': 'this is a title',
'dst': 'https://example.com/link',
'date': datetime.datetime(1980, 5, 9),
}
archive = [entry]
ctx = {
'archive': archive,
}
result = archive_template.render(ctx)
assert 'site title' in result
assert 'this is a title' in result
assert '1980-05-09' in result
assert 'https://example.com/link' in result
def test_tags(tags_template):
tags = [('foo', 42)]
ctx = {
'tags': tags,
}
result = tags_template.render(ctx)
assert 'Tags' in result
assert 'foo.html' in result
assert 'foo' in result
assert '42' in result
def test_tag(tag_template):
entry = {
'title': 'this is a title',
'dst': 'https://example.com/link',
'date': datetime.datetime(1980, 5, 9),
}
archive = [entry]
ctx = {
'tag': 'foo',
'archive': archive,
}
result = tag_template.render(ctx)
assert 'Tag foo' in result
assert 'this is a title' in result
assert '1980-05-09' in result
assert 'https://example.com/link' in result