Files
FabledScribe/tests/test_routes_trash.py
T
bvandeusen b255a0f90e
CI & Build / Python lint (push) Successful in 3s
CI & Build / TypeScript typecheck (push) Successful in 35s
CI & Build / Python tests (push) Successful in 54s
CI & Build / Build & push image (push) Successful in 1m14s
refactor: rename package fabledassistant -> scribe (code-only)
Renames src/fabledassistant -> src/scribe and all imports, plus the
default DB name and DB user/password (fabled -> scribe) in config +
compose. 952 refs / 154 files. Reverses the old 'internal name stays
fabledassistant' convention.

Code-only: live databases are still physically named 'fabledassistant'.
Deployed environments must set POSTGRES_DB / POSTGRES_USER (or rename the
DB) since the defaults now resolve to 'scribe'. Repo (FabledScribe), git
host (fabledsword), MCP (fabled-git) and the image name (fabledscribe)
are intentionally unchanged.

ruff check src/ clean locally; CI (typecheck + pytest) is the gate.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 15:48:35 -04:00

33 lines
1.0 KiB
Python

"""Structural tests for the trash blueprint + delete-flip contracts."""
import inspect
def test_trash_blueprint_registered():
from scribe.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 scribe.app import create_app
app = create_app()
assert "trash" in app.blueprints
def test_trash_handlers_callable():
from scribe.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 scribe.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 scribe.services.trash import delete
params = inspect.signature(delete).parameters
assert "user_id" in params and "entity_type" in params and "entity_id" in params