from __future__ import annotations from app.db.platform_store import dataset_file_version_summary, parse_size_bytes def test_parse_size_bytes_supports_legacy_units() -> None: assert parse_size_bytes("21563 B") == 21563 assert parse_size_bytes("1.5 KB") == 1536 assert parse_size_bytes("2 MB") == 2 * 1024**2 assert parse_size_bytes(4096) == 4096 assert parse_size_bytes("unknown") == 0 def test_dataset_file_version_summary_uses_active_version_metadata() -> None: summary = dataset_file_version_summary( { "active_version_id": "file-1-v3", "current_version_id": "file-1-v1", "version_no": 1, "versions": ( '[{"id":"file-1-v1","version":1},' '{"id":"file-1-v3","version_no":3}]' ), } ) assert summary == { "active_version_id": "file-1-v3", "current_version_id": "file-1-v3", "current_version_no": 3, "version_count": 2, } def test_dataset_file_version_summary_uses_normalized_version_number_as_fallback() -> None: summary = dataset_file_version_summary( { "active_version_id": "", "current_version_id": None, "version_no": 1, "versions": "[]", } ) assert summary["current_version_no"] == 1 assert summary["version_count"] == 0