|
|
@@ -9,7 +9,7 @@ def test_router_maps_power_breakthrough_to_state_and_memory():
|
|
|
targets = router.route(
|
|
|
{"event_type": "power_breakthrough", "subject": "xiaoyan", "payload": {}}
|
|
|
)
|
|
|
- assert targets == ["state", "memory"]
|
|
|
+ assert targets == ["state", "memory", "vector"]
|
|
|
|
|
|
|
|
|
def test_router_maps_relationship_changed_to_index():
|
|
|
@@ -33,7 +33,7 @@ def test_router_maps_world_rule_broken_to_memory_only():
|
|
|
"payload": {"field": "world_rule"},
|
|
|
}
|
|
|
)
|
|
|
- assert targets == ["memory"]
|
|
|
+ assert targets == ["memory", "vector"]
|
|
|
|
|
|
|
|
|
def test_router_collects_required_writers_from_commit_payload():
|
|
|
@@ -51,4 +51,37 @@ def test_router_collects_required_writers_from_commit_payload():
|
|
|
"summary_text": "本章摘要",
|
|
|
}
|
|
|
)
|
|
|
- assert targets == ["index", "memory", "state", "summary"]
|
|
|
+ assert targets == ["index", "memory", "state", "summary", "vector"]
|
|
|
+
|
|
|
+
|
|
|
+def test_router_maps_power_breakthrough_to_state_memory_vector():
|
|
|
+ router = EventProjectionRouter()
|
|
|
+ targets = router.route(
|
|
|
+ {"event_type": "power_breakthrough", "subject": "xiaoyan", "payload": {}}
|
|
|
+ )
|
|
|
+ assert "vector" in targets
|
|
|
+ assert "state" in targets
|
|
|
+ assert "memory" in targets
|
|
|
+
|
|
|
+
|
|
|
+def test_router_maps_relationship_changed_to_index_and_vector():
|
|
|
+ router = EventProjectionRouter()
|
|
|
+ targets = router.route(
|
|
|
+ {"event_type": "relationship_changed", "subject": "xiaoyan", "payload": {}}
|
|
|
+ )
|
|
|
+ assert "index" in targets
|
|
|
+ assert "vector" in targets
|
|
|
+
|
|
|
+
|
|
|
+def test_required_writers_includes_vector_for_key_events():
|
|
|
+ router = EventProjectionRouter()
|
|
|
+ payload = {
|
|
|
+ "meta": {"status": "accepted", "chapter": 5},
|
|
|
+ "accepted_events": [
|
|
|
+ {"event_type": "power_breakthrough", "subject": "xiaoyan", "payload": {}},
|
|
|
+ ],
|
|
|
+ "entity_deltas": [],
|
|
|
+ "summary_text": "摘要",
|
|
|
+ }
|
|
|
+ writers = router.required_writers(payload)
|
|
|
+ assert "vector" in writers
|