Files
shanxia2.0/backend/tests/test_bx_optional_date.py
T
zlwuandCursor 3b8a0eb7d8 feat(bx): add parse_optional_date for nullable occur dates
Empty values map to None so optional detail dates do not default to today.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-17 15:57:15 +08:00

23 lines
676 B
Python

from datetime import date, datetime
import pytest
from app.utils.bx_codegen import parse_optional_date
def test_parse_optional_date_none_and_blank():
assert parse_optional_date(None) is None
assert parse_optional_date("") is None
assert parse_optional_date(" ") is None
def test_parse_optional_date_string_and_date():
assert parse_optional_date("2026-08-17") == date(2026, 8, 17)
assert parse_optional_date(date(2026, 1, 2)) == date(2026, 1, 2)
assert parse_optional_date(datetime(2026, 3, 4, 12, 0, 0)) == date(2026, 3, 4)
def test_parse_optional_date_invalid():
with pytest.raises(ValueError):
parse_optional_date("2026/08/17")