Files
colibre/tests/admin/test_db.py
T
Colin Maudry c4851ff0ae refactor: format test_db.py for consistency
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-03 09:38:46 +02:00

46 lines
1.2 KiB
Python

from src.admin import db as admin_db
from src.auth.db import init_schema
from src.migrations import apply_pending
from src.subscriptions.db import init_schema as init_subscriptions_schema
def _setup():
init_schema()
init_subscriptions_schema()
apply_pending()
def test_log_action_then_list_actions_returns_it(users_db_path):
_setup()
admin_db.log_action(
"admin@ex.fr", "subscription_status_change", 42, "active → cancelled"
)
rows = admin_db.list_actions()
assert len(rows) == 1
assert rows[0]["admin_email"] == "admin@ex.fr"
assert rows[0]["action"] == "subscription_status_change"
assert rows[0]["target_user_id"] == 42
assert rows[0]["details"] == "active → cancelled"
def test_list_actions_most_recent_first(users_db_path):
_setup()
admin_db.log_action("admin@ex.fr", "action_one", None, None)
admin_db.log_action("admin@ex.fr", "action_two", None, None)
rows = admin_db.list_actions()
assert [r["action"] for r in rows] == ["action_two", "action_one"]
def test_list_actions_respects_limit(users_db_path):
_setup()
for i in range(3):
admin_db.log_action("admin@ex.fr", f"action_{i}", None, None)
rows = admin_db.list_actions(limit=2)
assert len(rows) == 2