From 7b900b8699a644bb59835d108c4291bddd79f7eb Mon Sep 17 00:00:00 2001 From: zLeoAlex Date: Sun, 7 Jun 2026 15:26:54 +0800 Subject: [PATCH] =?UTF-8?q?test(cache):=20rename=20misleading=20test=20?= =?UTF-8?q?=E2=80=94=20does=20not=20exercise=20Op::ChangeMode=20dispatch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Rename mode_change_op_updates_current_mode_and_emits_session_updated to current_mode_field_assignment_takes_effect_synchronously. - The test directly mutates engine.current_mode, not through Op::ChangeMode. The dispatch path is separately covered by change_mode_op_updates_current_mode_and_emits_status. --- crates/tui/src/core/engine/tests.rs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/crates/tui/src/core/engine/tests.rs b/crates/tui/src/core/engine/tests.rs index 6476d0c1..6dafe132 100644 --- a/crates/tui/src/core/engine/tests.rs +++ b/crates/tui/src/core/engine/tests.rs @@ -2378,7 +2378,10 @@ fn turn_metadata_mode_updates_with_change_mode_op() { } #[test] -fn mode_change_op_updates_current_mode_and_emits_session_updated() { +fn current_mode_field_assignment_takes_effect_synchronously() { + // Basic unit-level invariant: the current_mode field mutates as expected. + // Op::ChangeMode dispatch is exercised by the integration test + // change_mode_op_updates_current_mode_and_emits_status. let tmp = tempdir().expect("tempdir"); let config = EngineConfig { workspace: tmp.path().to_path_buf(), @@ -2388,9 +2391,6 @@ fn mode_change_op_updates_current_mode_and_emits_session_updated() { let (mut engine, _handle) = Engine::new(config, &Config::default()); assert_eq!(engine.current_mode, AppMode::Agent); - // Op::ChangeMode updates current_mode synchronously. - // The per-turn tag carries the current mode in every - // request — no separate mode_change runtime event is needed. engine.current_mode = AppMode::Yolo; assert_eq!(engine.current_mode, AppMode::Yolo); }