fix(km): tolerate legacy knowledge rows
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 1m14s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
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 1m14s
CD Pipeline / post-deploy-checks (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
This commit is contained in:
@@ -65,6 +65,33 @@ def test_knowledge_read_model_accepts_lowercase_enum_values() -> None:
|
||||
assert entry.status == EntryStatus.PUBLISHED
|
||||
|
||||
|
||||
def test_knowledge_read_model_falls_back_for_unknown_legacy_enum_values() -> None:
|
||||
repo = KnowledgeDBRepository(db=object()) # type: ignore[arg-type]
|
||||
|
||||
entry = repo._to_model(
|
||||
_record(
|
||||
entry_type="analysis_note",
|
||||
source="system_import",
|
||||
status="needs_ai_review",
|
||||
)
|
||||
)
|
||||
|
||||
assert entry.entry_type == EntryType.BEST_PRACTICE
|
||||
assert entry.source == EntrySource.AI_EXTRACTED
|
||||
assert entry.status == EntryStatus.REVIEW
|
||||
|
||||
|
||||
def test_knowledge_read_model_normalizes_legacy_tag_shapes_and_null_counts() -> None:
|
||||
repo = KnowledgeDBRepository(db=object()) # type: ignore[arg-type]
|
||||
|
||||
json_tag_entry = repo._to_model(_record(tags='["telegram", " ai_loop "]', view_count=None))
|
||||
scalar_tag_entry = repo._to_model(_record(tags="telegram"))
|
||||
|
||||
assert json_tag_entry.tags == ["telegram", "ai_loop"]
|
||||
assert json_tag_entry.view_count == 0
|
||||
assert scalar_tag_entry.tags == ["telegram"]
|
||||
|
||||
|
||||
def test_knowledge_read_model_defaults_null_or_blank_category() -> None:
|
||||
repo = KnowledgeDBRepository(db=object()) # type: ignore[arg-type]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user