fix: allow direct knowledge deletion
This commit is contained in:
@@ -10,6 +10,7 @@ from sqlalchemy import create_engine, select
|
||||
from sqlalchemy.orm import Session
|
||||
from sqlalchemy.pool import StaticPool
|
||||
|
||||
from app.api.admin_knowledge import delete_knowledge
|
||||
from app.api.admin_knowledge_lifecycle import batch_sync, batch_update_metadata, update_metadata
|
||||
from app.models import Base
|
||||
from app.models.admin import Admin, Role
|
||||
@@ -134,6 +135,20 @@ def test_batch_metadata_update_reports_missing_items():
|
||||
assert db.scalar(select(Knowledge).where(Knowledge.id == item.id)).knowledge_type == "qa"
|
||||
|
||||
|
||||
def test_active_knowledge_can_be_deleted_without_manual_archive_steps():
|
||||
with _database() as db:
|
||||
item = _knowledge(db)
|
||||
knowledge_id = item.id
|
||||
|
||||
response = delete_knowledge(knowledge_id, db, _admin())
|
||||
|
||||
assert response["code"] == 0
|
||||
assert db.get(Knowledge, knowledge_id) is None
|
||||
assert db.scalars(select(KnowledgeVersion).where(KnowledgeVersion.knowledge_id == knowledge_id)).all() == []
|
||||
assert db.scalars(select(KnowledgeManifest).where(KnowledgeManifest.knowledge_id == knowledge_id)).all() == []
|
||||
assert db.scalars(select(KnowledgeSourceSnapshot).where(KnowledgeSourceSnapshot.knowledge_id == knowledge_id)).all() == []
|
||||
|
||||
|
||||
def test_batch_sync_continues_after_an_item_fails_and_reports_each_result():
|
||||
with _database() as db:
|
||||
first = _knowledge(db, 1)
|
||||
|
||||
Reference in New Issue
Block a user