Files
customerTicket/tests/test_jalali_templates.py

26 lines
991 B
Python

from datetime import datetime, timezone as dt_timezone
import pytest
from apps.core.templatetags.jalali import jalali_date, jalali_datetime, jalali_datetime_precise, persian_time
def test_jalali_datetime_uses_iran_time_persian_month_and_digits():
value = datetime(2026, 9, 6, 5, 0, tzinfo=dt_timezone.utc)
assert jalali_datetime(value) == "۱۵ شهریور ۱۴۰۵، ساعت ۰۸:۳۰"
assert jalali_date(value) == "۱۵ شهریور ۱۴۰۵"
assert persian_time(value) == "۰۸:۳۰"
def test_jalali_filters_fail_safely_for_empty_values():
assert jalali_datetime(None) == ""
assert jalali_date(None) == ""
assert persian_time(None) == ""
@pytest.mark.parametrize("value,expected", [
(datetime(2026, 9, 5, 22, 31, 17, tzinfo=dt_timezone.utc), "۱۵ شهریور ۱۴۰۵، ساعت ۰۲:۰۱:۱۷"),
(None, ""),
])
def test_opening_timestamp_includes_seconds_in_iran_time(value, expected):
assert jalali_datetime_precise(value) == expected