Mohamed Boudra
634a9f1e9a
refactor(app): replace 4 component test slop files with pure module extractions (#724)
Delete message-input.test.tsx, left-sidebar.test.tsx,
agent-stream-view.test.tsx, and agent-panel.test.tsx — all heavy
vi.mock + JSDOM + toHaveBeenCalledWith slop.
Coverage preserved by extracting the testable derivations:
- agent-stream-view-data.ts: isSameAssistantBlockGroup,
getAssistantBlockSpacing, resolveInlineWorkingIndicatorItemId —
14 pure unit tests, zero mocks
- message-input-state.ts: computeCanStartDictation (dictation readiness
gate) — 7 pure unit tests, zero mocks
Remaining behaviors confirmed covered by existing E2E:
- left-sidebar subscription-while-hidden → sidebar-workspace.spec.ts
- agent-panel render isolation + archived agent store hygiene → archive-tab.spec.ts
- message-input attachment menu / submit icon → workspace-setup-streaming.spec.ts
2026-05-05 19:58:55 +07:00
..
2026-04-24 12:26:10 +08:00
2026-05-02 18:04:18 +07:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-05-05 19:58:55 +07:00
2026-05-02 12:12:44 +07:00
2026-04-18 14:21:40 +07:00
2026-04-30 22:05:49 +08:00
2026-04-18 12:08:30 +07:00
2026-04-18 12:08:30 +07:00
2026-04-24 12:26:10 +08:00
2026-04-01 13:37:51 +07:00
2026-04-01 13:37:51 +07:00
2026-04-04 16:35:31 +07:00
2026-05-05 19:56:26 +07:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-03-10 12:56:18 +07:00
2026-04-24 12:26:10 +08:00
2026-03-21 20:22:15 +07:00
2026-04-06 18:15:30 +07:00
2026-05-05 19:58:55 +07:00
2026-05-05 19:58:55 +07:00
2026-05-05 19:58:55 +07:00
2026-04-24 11:55:43 +07:00
2026-04-24 11:55:43 +07:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-05-05 19:56:26 +07:00
2026-05-02 19:28:40 +08:00
2026-05-02 19:28:40 +08:00
2026-04-28 13:28:02 +07:00
2026-05-05 19:56:26 +07:00
2026-05-05 19:56:26 +07:00
2026-04-14 03:05:45 +07:00
2026-04-24 12:26:10 +08:00
2026-05-05 19:58:55 +07:00
2026-05-05 19:58:55 +07:00
2026-05-05 19:58:55 +07:00
2026-04-19 14:26:50 +07:00
2026-04-19 14:26:50 +07:00
2026-04-24 12:26:10 +08:00
2026-03-29 23:20:18 +07:00
2026-03-29 23:20:18 +07:00
2026-05-05 19:58:55 +07:00
2026-05-02 18:04:18 +07:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-04-18 09:56:14 +07:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-01-26 18:03:51 +07:00
2026-03-04 11:57:22 +07:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-04-30 10:38:07 +07:00
2026-04-24 12:26:10 +08:00
2026-05-05 19:56:26 +07:00
2026-04-16 10:33:49 +08:00
2026-04-16 10:33:49 +08:00
2026-05-02 14:02:27 +08:00
2026-04-30 12:56:09 +08:00
2026-04-30 12:56:09 +08:00
2026-04-24 12:26:10 +08:00
2026-05-02 18:04:18 +07:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-04-26 13:16:24 +07:00
2026-04-12 09:56:05 +08:00
2026-05-05 19:58:55 +07:00
2026-05-05 19:58:55 +07:00
2026-05-05 19:58:55 +07:00
2026-05-05 19:58:55 +07:00
2026-04-24 12:26:10 +08:00
2026-05-01 11:42:30 +07:00
2026-05-05 19:58:55 +07:00
2026-05-05 19:56:26 +07:00
2026-05-05 19:56:26 +07:00
2026-04-15 10:52:28 +07:00
2026-04-24 12:26:10 +08:00
2026-04-27 15:22:16 +07:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-04-23 15:19:40 +07:00
2026-04-23 15:19:40 +07:00
2026-04-23 15:19:40 +07:00
2026-04-23 15:19:40 +07:00
2026-04-26 13:16:24 +07:00
2026-04-26 13:16:24 +07:00
2026-05-05 19:56:26 +07:00
2026-05-05 19:56:26 +07:00
2026-03-18 01:36:54 +07:00
2026-03-21 20:22:15 +07:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-03-21 20:22:15 +07:00
2026-03-18 20:39:16 +07:00
2026-03-21 20:22:15 +07:00
2026-03-21 20:22:15 +07:00
2026-05-05 19:58:55 +07:00
2026-04-24 12:26:10 +08:00
2026-05-02 19:53:50 +08:00
2026-04-06 18:15:30 +07:00
2026-05-02 19:53:50 +08:00
2026-05-02 19:53:50 +08:00
2026-05-02 19:53:50 +08:00
2026-04-24 12:26:10 +08:00
2026-05-05 19:58:55 +07:00
2026-05-03 20:38:12 +07:00
2026-05-03 17:17:02 +07:00
2026-05-02 17:20:22 +07:00
2026-05-02 12:12:44 +07:00
2026-03-21 20:22:15 +07:00
2026-04-24 12:26:10 +08:00
2026-05-05 19:56:26 +07:00
2026-04-24 12:26:10 +08:00
2026-04-24 12:26:10 +08:00
2026-02-18 15:10:20 +07:00
2026-04-24 12:26:10 +08:00
2026-05-03 15:05:59 +07:00
2026-04-26 16:12:09 +07:00
2026-05-02 12:12:44 +07:00
2026-04-30 21:36:41 +08:00
2026-04-20 18:06:09 +07:00
2026-04-26 13:06:35 +07:00
2026-04-26 13:06:35 +07:00