1.5 KiB
id, title, status, assignee, created_date, updated_date, labels, dependencies, modified_files, parent_task_id, priority, ordinal
| id | title | status | assignee | created_date | updated_date | labels | dependencies | modified_files | parent_task_id | priority | ordinal | |||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ML-182.6 | Wave 6: Chat component streaming tests (send_update/3 blocker) | To Do | 2026-05-14 22:15 | 2026-05-23 06:16 |
|
|
ML-182 | medium | 16000 |
Description
Decision: Keep send_update/3 (Accepted Blocker)
After reviewing the implementation plan against the project's testing conventions, the decision is to keep send_update/3 rather than rewrite the three streaming state-transition tests as SSE pipeline integration tests.
Rationale
The testing skill at .agents/skills/testing/SKILL.md already documents send_update/3 in the "Known Blockers for Full PhoenixTest Migration" table with the workaround: "Keep send_update for these tests." This is the project's documented convention — send_update/3 is an accepted escape hatch for unit-level LiveComponent streaming-state testing.
The proposed SSE integration approach would work technically but carries disproportionate cost (4-6h estimated) for three tests, introduces async timing fragility, requires new DOM selectors in the template, and masks the unit-level coverage of update/2 clause logic behind a full-pipeline integration test.
Action
Import send_update/3 explicitly in chat_test.exs, keep the three streaming state-transition tests as-is, and close this task. No other changes needed.