|
@@ -0,0 +1,22 @@
|
|
|
|
|
+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")
|