From 1647c82be1852fe3608aa4397916fa803e1285d2 Mon Sep 17 00:00:00 2001 From: Mira Weller Date: Mon, 13 Nov 2023 16:46:48 +0100 Subject: [PATCH] add more test cases --- src/tests/base/test_templatetag.py | 50 +++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 7 deletions(-) diff --git a/src/tests/base/test_templatetag.py b/src/tests/base/test_templatetag.py index bdbae991c..7bbd66f7a 100644 --- a/src/tests/base/test_templatetag.py +++ b/src/tests/base/test_templatetag.py @@ -26,6 +26,7 @@ from django.test import RequestFactory from django.utils import translation from pretix import settings +from pretix.base.templatetags.money import money_filter TEMPLATE_REPLACE_PAGE = Template( "{% load urlreplace %}{% url_replace request 'page' 3 %}" @@ -70,32 +71,50 @@ def _render_money_filter(locale, amount, currency): ).strip() -def test_money_filter_de_EUR_happycase(): +def test_money_filter_en_USD(): + rendered = _render_money_filter("en", Decimal("1000.00"), "USD") + assert rendered == "$1,000.00" + + +def test_money_filter_de_EUR(): rendered = _render_money_filter("de", Decimal("1.23"), "EUR") assert rendered == "1,23" + NBSP + "€" -def test_money_filter_de_EUR_happycase2(): +def test_money_filter_de_EUR_2(): rendered = _render_money_filter("de", Decimal("1000.00"), "EUR") assert rendered == "1.000,00" + NBSP + "€" -def test_money_filter_de_JPY_happycase(): +def test_money_filter_de_EUR_hidecurrency(): + translation.activate("de") + rendered = money_filter(Decimal("1000.00"), "EUR", hide_currency=True) + assert rendered == "1000,00" + + +def test_money_filter_en_EUR_hidecurrency(): + translation.activate("en") + rendered = money_filter(Decimal("1000.00"), "EUR", hide_currency=True) + assert rendered == "1000.00" + + + +def test_money_filter_de_JPY(): rendered = _render_money_filter("de", Decimal("1023"), "JPY") assert rendered == "1.023" + NBSP + "¥" def test_money_filter_de_unknown_currency(): rendered = _render_money_filter("de", Decimal("1234.56"), "FOO") - assert rendered == "1.234,56 FOO" + assert rendered == "1.234,56" + NBSP + "FOO" def test_money_filter_de_unknown_currency2(): rendered = _render_money_filter("de", Decimal("1234.567"), "FOO") - assert rendered == "FOO 1234,57" + assert rendered == "1.234,57" + NBSP + "FOO" -def test_money_filter_en_JPY_happycase(): +def test_money_filter_en_JPY(): rendered = _render_money_filter("en", Decimal("1023"), "JPY") assert rendered == "¥1,023" @@ -105,6 +124,23 @@ def test_money_filter_de_JPY_rounding_error(): assert rendered == "JPY 1023,10" +def test_money_filter_de_JPY_rounding_error_hidecurrency(): + translation.activate("de") + rendered = money_filter(Decimal("1023.1"), "JPY", hide_currency=True) + assert rendered == "1023,10" + + def test_money_filter_de_EUR_rounding_error(): rendered = _render_money_filter("de", Decimal("1.234"), "EUR") - assert rendered == "EUR 1,23" # TODO - should this really be handled differently then JPY? + assert rendered == "1,23" + NBSP + "€" + + +def test_money_filter_pt_PT_EUR(): + rendered = _render_money_filter("pt-pt", Decimal("10.00"), "EUR") + assert rendered == "10,00" + NBSP + "€" + + +def test_money_filter_pt_BR_EUR(): + rendered = _render_money_filter("pt-br", Decimal("10.00"), "EUR") + assert rendered == "€" + NBSP + "10,00" +