claire/tests/test_db.py
Natalie 3cb400a427 test(@projects/@clare): 📝 add chat projection fan-out test suite
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-18 07:47:06 -07:00

33 lines
806 B
Python

from __future__ import annotations
from clare.db import migrate, open_db
def test_migrate_is_idempotent() -> None:
conn = open_db(":memory:")
first = migrate(conn)
second = migrate(conn)
assert first == ["0001_initial", "0002_chat"]
assert second == [] # already applied
def test_schema_has_expected_tables() -> None:
conn = open_db(":memory:")
migrate(conn)
rows = conn.execute(
"SELECT name FROM sqlite_master WHERE type='table' ORDER BY name"
).fetchall()
names = {r[0] for r in rows}
expected = {
"schema_migrations",
"events",
"projects",
"tasks",
"assignments",
"sessions",
"groups",
"updates",
"chat_messages",
"task_splits",
}
assert expected <= names