fix(km): normalize legacy timestamps
Some checks failed
CD Pipeline / workflow-shape (push) Successful in 0s
CD Pipeline / cancel-stale-cd (push) Has been skipped
CD Pipeline / tests (push) Successful in 1m13s
CD Pipeline / build-and-deploy (push) Successful in 5m41s
CD Pipeline / post-deploy-checks (push) Has been cancelled

This commit is contained in:
ogt
2026-07-09 17:58:49 +08:00
parent a3e40b0173
commit b257f9e98f
2 changed files with 22 additions and 3 deletions

View File

@@ -86,10 +86,21 @@ def test_knowledge_read_model_normalizes_legacy_tag_shapes_and_null_counts() ->
json_tag_entry = repo._to_model(_record(tags='["telegram", " ai_loop "]', view_count=None))
scalar_tag_entry = repo._to_model(_record(tags="telegram"))
bad_count_entry = repo._to_model(_record(view_count="not-a-number"))
assert json_tag_entry.tags == ["telegram", "ai_loop"]
assert json_tag_entry.view_count == 0
assert scalar_tag_entry.tags == ["telegram"]
assert bad_count_entry.view_count == 0
def test_knowledge_read_model_fills_missing_legacy_timestamps() -> None:
repo = KnowledgeDBRepository(db=object()) # type: ignore[arg-type]
entry = repo._to_model(_record(created_at=None, updated_at=None))
assert entry.created_at is not None
assert entry.updated_at is not None
def test_knowledge_read_model_defaults_null_or_blank_category() -> None: