Files
zyt/app/tests/test_widgets_format.py
T
2026-08-22 08:51:35 +08:00

53 lines
1.9 KiB
Python

from __future__ import annotations
import os
from datetime import date, datetime
os.environ.setdefault("QT_QPA_PLATFORM", "offscreen")
from doctor_workstation.ui.widgets import format_record_time
def test_format_record_time_with_unix_seconds_returns_minute_precision() -> None:
stamp = 1787119871
expected = datetime.fromtimestamp(stamp).strftime("%Y-%m-%d %H:%M")
assert format_record_time(stamp) == expected
assert format_record_time(str(stamp)) == expected
assert format_record_time(float(stamp)) == expected
def test_format_record_time_with_unix_milliseconds_returns_minute_precision() -> None:
stamp_ms = 1_787_119_871_234
expected = datetime.fromtimestamp(stamp_ms / 1000).strftime("%Y-%m-%d %H:%M")
assert format_record_time(stamp_ms) == expected
assert format_record_time(str(stamp_ms)) == expected
assert format_record_time(float(stamp_ms)) == expected
def test_format_record_time_with_iso_string_truncates_to_minute() -> None:
assert format_record_time("2026-08-20T17:31:11Z") == "2026-08-20 17:31"
assert format_record_time("2026-08-20 17:31:11") == "2026-08-20 17:31"
def test_format_record_time_with_preformatted_string_passes_through_when_short() -> None:
assert format_record_time("—") == "—"
assert format_record_time("刚刚") == "刚刚"
def test_format_record_time_with_blank_or_none_returns_default() -> None:
assert format_record_time(None) == "—"
assert format_record_time("") == "—"
assert format_record_time(" ") == "—"
assert format_record_time(None, default="?") == "?"
def test_format_record_time_with_datetime_returns_minute_precision() -> None:
assert format_record_time(datetime(2026, 8, 20, 17, 31, 11)) == "2026-08-20 17:31"
assert format_record_time(date(2026, 8, 20)) == "2026-08-20"
def test_format_record_time_with_garbage_returns_raw_value() -> None:
assert format_record_time("not-a-timestamp") == "not-a-timestamp"