test_bx_optional_date.py 676 B

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