use super::fixture::world_titled;
use super::painted;
use crate::cli_outbound::Cli;
use crate::keymap::InspectorTab;
const GOAL: &str = "You are stench-pug.\n\nfix the gate";
#[test]
fn a_fired_start_renders_its_own_transcript_with_no_selection_gesture() {
let (lernie, bl) = (Cli::new("lernie"), Cli::new("bl"));
let mut world = world_titled(GOAL);
let ws = world.ws.clone();
world.model.select_tab(InspectorTab::Transcript);
let before = painted(&mut world, &lernie, &bl);
assert!(
before.contains("select a conversation"),
"the pre-start center is the placeholder:\n{before}"
);
assert!(
!before.contains("pong reply"),
"and no transcript is on screen yet:\n{before}"
);
world
.model
.await_conversation(&ws, "stench-pug", "fix the gate");
world.converge();
let after = painted(&mut world, &lernie, &bl);
assert!(
!after.contains("select a conversation"),
"the placeholder is gone — the start focused what it started:\n{after}"
);
assert!(
after.contains("pong reply"),
"the started conversation's transcript is what renders (S0.3):\n{after}"
);
assert!(
after.contains("→ message stench-pug"),
"and the composer is aimed at it, named not identified:\n{after}"
);
}