feat(trash): /api/trash blueprint + flip REST DELETE handlers to soft-delete

This commit is contained in:
2026-05-28 21:13:31 -04:00
parent 580e4a2c0a
commit bfeed67cfe
9 changed files with 86 additions and 20 deletions
+32
View File
@@ -0,0 +1,32 @@
"""Structural tests for the trash blueprint + delete-flip contracts."""
import inspect
def test_trash_blueprint_registered():
from fabledassistant.routes.trash import trash_bp
assert trash_bp.name == "trash"
assert trash_bp.url_prefix == "/api/trash"
def test_trash_blueprint_registered_in_app():
from fabledassistant.app import create_app
app = create_app()
assert "trash" in app.blueprints
def test_trash_handlers_callable():
from fabledassistant.routes import trash as trash_routes
for name in ("list_trash", "restore_batch", "purge_batch"):
assert callable(getattr(trash_routes, name))
def test_trash_service_surface():
from fabledassistant.services import trash as svc
for fn_name in ("delete", "restore", "purge", "list_trash", "purge_expired", "alive"):
assert hasattr(svc, fn_name), f"trash service missing {fn_name}"
def test_delete_service_signature():
from fabledassistant.services.trash import delete
params = inspect.signature(delete).parameters
assert "user_id" in params and "entity_type" in params and "entity_id" in params