| 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() | |