dream-customs / tests /test_schema.py
ADJCJH's picture
Deploy Dream Customs app (#1)
9bbe096
Raw
History Blame
1.35 kB
from dream_customs.schema import DreamIntake, PactCard
def test_dream_intake_defaults_lists():
intake = DreamIntake(dream_text="I missed an elevator.")
assert intake.dream_text == "I missed an elevator."
assert intake.visual_clues == []
assert intake.recurring_symbols == []
def test_dream_intake_merged_text_includes_modalities():
intake = DreamIntake(
dream_text="I missed an elevator.",
voice_transcript="The buttons melted.",
visual_clues=["blue hallway"],
mood="anxious",
recurring_symbols=["elevator"],
user_context="I slept badly.",
)
merged = intake.merged_text()
assert "I missed an elevator." in merged
assert "The buttons melted." in merged
assert "blue hallway" in merged
assert "Mood: anxious" in merged
def test_pact_card_requires_core_fields():
card = PactCard(
visitor_name="Late Elevator",
permit_id="DC-0001",
contraband=["unfiled anxiety"],
risk_level="orange",
alliance_reading="The dream asks for a smaller start.",
practical_suggestion="Open one task ten minutes early.",
weird_task="Write the elevator an apology note.",
bedtime_release="Today the elevator has docked.",
)
assert card.safety_note == ""
assert "Late Elevator" in card.to_plain_text()