Files
zyt/app/tests/test_widgets_format.py
T
2026-09-10 15:19:17 +08:00

62 lines
2.3 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_unset_epoch_returns_default() -> None:
# The API sends 0 (and occasionally "0") for a snapshot cutoff or finish time that does
# not exist yet; it must not be rendered as a bare 0 or as 1970.
assert format_record_time(0) == "—"
assert format_record_time("0") == "—"
assert format_record_time(-1) == "—"
assert format_record_time(0, default="未开始") == "未开始"
def test_format_record_time_with_garbage_returns_raw_value() -> None:
assert format_record_time("not-a-timestamp") == "not-a-timestamp"