File size: 870 Bytes
ba54ea9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
from datetime import datetime

from recap.models import Citation, Event, Patient


def test_citation_roundtrip():
    c = Citation(source_id="lab_2022-03-14.pdf", page=2, snippet="Cr 1.4 mg/dL")
    d = c.model_dump()
    assert d["source_id"] == "lab_2022-03-14.pdf"
    assert d["page"] == 2


def test_event_orderable_by_date():
    a = Event(
        id="a",
        date=datetime(2022, 3, 14),
        category="lab",
        title="Cr 1.4",
        source="lab_2022-03-14.pdf",
    )
    b = Event(
        id="b",
        date=datetime(2023, 1, 1),
        category="visit",
        title="Nephrology",
        source="visit_2023-01-01.pdf",
    )
    assert sorted([b, a], key=lambda e: e.date) == [a, b]


def test_patient_holds_events():
    p = Patient(id="sarah", display_name="Sarah, 67", events=[])
    assert p.id == "sarah"
    assert len(p.events) == 0