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