# backend/tests/test_seed_calendar.py # 주의: 이 프로젝트 conftest 의 `session` fixture 는 시드를 적재하지 않는다. # `client` 가 같은 엔진에 시드를 적재하므로, DB 직접 접근 테스트는 (client, session) 둘 다 요청한다. from sqlmodel import select from app.models import Calendar, CalEvent, FocusBlock, Meeting, MeetingAction def test_calendar_seed_counts(client, session): s, _ = session assert len(s.exec(select(Calendar)).all()) == 5 assert len(s.exec(select(CalEvent)).all()) == 22 assert len(s.exec(select(FocusBlock)).all()) == 4 assert {m.id for m in s.exec(select(Meeting)).all()} == {"e3", "e4", "e6", "e7"} e3 = [a for a in s.exec(select(MeetingAction)).all() if a.meeting_id == "e3"] assert len(e3) == 3 assert sum(1 for a in e3 if not a.added) == 1 def test_focus_seed_deep(client, session): s, _ = session deep = [f for f in s.exec(select(FocusBlock)).all() if f.type == "deep"] assert len(deep) == 1 and deep[0].id == "f3" assert deep[0].start == "15:10" and deep[0].end == "16:25" def test_event_actions_seeded(client, session): s, _ = session eacts = [a for a in s.exec(select(MeetingAction)).all() if a.source == "event"] assert {a.event_id for a in eacts} == {"e3", "e4"} assert len(eacts) == 4