Spaces:
Sleeping
Sleeping
| from datetime import datetime | |
| import pytest | |
| from server import memory | |
| from server.agent import build_messages | |
| from server.schema import ActionPlan, Event | |
| def _clean_mem(): | |
| memory.reset() | |
| yield | |
| memory.reset() | |
| def test_remember_recall_forget(): | |
| f = memory.remember("Dana is the soccer coach", "contact") | |
| assert f and f["id"] >= 1 | |
| assert "Dana is the soccer coach" in memory.recall() | |
| assert memory.forget(f["id"]) | |
| assert memory.recall() == "" | |
| def test_remember_dedupes_and_bumps_weight(): | |
| a = memory.remember("you decline Mondays", "preference") | |
| b = memory.remember("You decline Mondays", "preference") # same after normalize | |
| assert a["id"] == b["id"] | |
| facts = memory.list_facts() | |
| assert len(facts) == 1 and facts[0]["weight"] == 2 | |
| def test_recall_injected_into_prompt(): | |
| memory.remember("you decline Mondays", "preference") | |
| msgs = build_messages("lunch?", datetime(2026, 6, 7, 9, 0), []) | |
| assert "you decline Mondays" in msgs[-1]["content"] | |
| def test_recall_empty_when_no_facts(): | |
| assert memory.recall() == "" | |
| def test_observe_plan_learns_contacts(): | |
| plan = ActionPlan( | |
| events=[Event(title="Lunch", start="2026-06-09T13:00:00", attendees=["Alex"])] | |
| ) | |
| memory.observe_plan(plan) | |
| assert any("Alex" in f["text"] for f in memory.list_facts()) | |