tests: Add render_lines shortcut to template tests.

This commit is contained in:
Brett Smith 2017-12-30 15:51:53 -05:00
parent 2c6211c9ea
commit 52f2bdcd0e

View file

@ -30,6 +30,11 @@ def template_vars(payee, amount, currency='USD', date=DATE, other_vars=None):
else:
return collections.ChainMap(call_vars, other_vars)
def render_lines(render_vars, section_name, *args, **kwargs):
tmpl = template_from(section_name, *args, **kwargs)
rendered = tmpl.render(render_vars)
return [normalize_whitespace(s) for s in rendered.splitlines()]
def assert_easy_render(tmpl, entity, amount, currency, expect_date, expect_amt):
rendered = tmpl.render(template_vars(entity, amount, currency))
lines = [normalize_whitespace(s) for s in rendered.splitlines()]
@ -64,9 +69,11 @@ def test_complex_template():
'program': 'Spectrum Defense',
'txid': 'ABCDEF',
})
tmpl = template_from('Complex', date_fmt='%Y-%m-%d', signed_currencies=['USD'])
rendered = tmpl.render(render_vars)
lines = [normalize_whitespace(s) for s in rendered.splitlines()]
lines = render_lines(
render_vars, 'Complex',
date_fmt='%Y-%m-%d',
signed_currencies=['USD'],
)
assert lines == [
"",
"2015-03-14 TT",
@ -82,9 +89,7 @@ def test_complex_template():
]
def test_balancing():
tmpl = template_from('FiftyFifty')
rendered = tmpl.render(template_vars('FF', '1.01'))
lines = [normalize_whitespace(s) for s in rendered.splitlines()]
lines = render_lines(template_vars('FF', '1.01'), 'FiftyFifty')
assert lines == [
"",
"2015/03/14 FF",
@ -97,9 +102,7 @@ def test_multivalue():
render_vars = template_vars('DD', '150.00', other_vars={
'tax': decimal.Decimal('12.50'),
})
tmpl = template_from('Multivalue')
rendered = tmpl.render(render_vars)
lines = [normalize_whitespace(s) for s in rendered.splitlines()]
lines = render_lines(render_vars, 'Multivalue')
assert lines == [
"",
"2015/03/14 DD",
@ -114,9 +117,7 @@ def test_zeroed_account_skipped():
render_vars = template_vars('GG', '110.00', other_vars={
'tax': decimal.Decimal(0),
})
tmpl = template_from('Multivalue')
rendered = tmpl.render(render_vars)
lines = [normalize_whitespace(s) for s in rendered.splitlines()]
lines = render_lines(render_vars, 'Multivalue')
assert lines == [
"",
"2015/03/14 GG",
@ -129,9 +130,7 @@ def test_custom_payee_line():
render_vars = template_vars('ZZ', '10.00', other_vars={
'custom_date': datetime.date(2014, 2, 13),
})
tmpl = template_from('Custom Payee')
rendered = tmpl.render(render_vars)
lines = [normalize_whitespace(s) for s in rendered.splitlines()]
lines = render_lines(render_vars, 'Custom Payee')
assert lines == [
"",
"2014/02/13 ZZ - Custom",
@ -143,9 +142,7 @@ def test_line1_not_custom_payee():
render_vars = template_vars('VV', '15.00', other_vars={
'custom_date': datetime.date(2014, 2, 12),
})
tmpl = template_from('Simplest')
rendered = tmpl.render(render_vars)
lines = [normalize_whitespace(s) for s in rendered.splitlines()]
lines = render_lines(render_vars, 'Simplest')
assert lines == [
"",
"2015/03/14 VV",