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")