Spaces:
Sleeping
Sleeping
File size: 1,164 Bytes
2e818da | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | from app.services.journal_service import JournalService
from app.schemas.journal import JournalEntry, JournalEventType
def test_append_and_retrieve():
svc = JournalService()
entry = JournalEntry(
project_id="s1",
node_id="n1",
event_type=JournalEventType.CHAT_TURN,
data={"role": "student", "content": "explain entropy"},
)
svc.append(entry)
journal = svc.get_session("s1")
assert len(journal) == 1
assert journal[0].event_type == JournalEventType.CHAT_TURN
def test_separate_sessions_isolated():
svc = JournalService()
svc.append(
JournalEntry(project_id="A", node_id="n1", event_type=JournalEventType.QUIZ_SUBMIT, data={})
)
svc.append(
JournalEntry(project_id="B", node_id="n1", event_type=JournalEventType.QUIZ_SUBMIT, data={})
)
assert len(svc.get_session("A")) == 1
assert len(svc.get_session("B")) == 1
def test_clear_session():
svc = JournalService()
svc.append(
JournalEntry(project_id="s1", node_id="n1", event_type=JournalEventType.NODE_OPENED, data={})
)
svc.clear_session("s1")
assert svc.get_session("s1") == []
|