test(command): the wire refusals and the p key name displays too (improvise-cq1q.13)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VdfEGXA7aJ6ftMsCc9PJze
This commit is contained in:
Claude (adr007-2c)
2026-10-09 12:51:20 -07:00
committed by Edward Langley
parent bf7e999edc
commit 5f741ee1da
+53
View File
@@ -5617,6 +5617,47 @@ mod non_item_key_tests {
assert_eq!(app.view_state.status_msg, refusal("Mars"));
}
#[test]
fn a_refused_wire_write_names_the_displays_it_shows() {
const REGION: &str = "Sales territory of the whole company";
const PROFIT: &str = "Operating profit after all costs";
let mut app = paged_app("East");
let stray = CellKey::new(vec![
("Month".into(), "Jan".into()),
("Region".into(), "Mars".into()),
("_Measure".into(), "Revenue".into()),
]);
let model = &mut app.model_state.workbook.model;
model.set_cell(stray.clone(), CellValue::Number(2.0));
model.category_mut("Region").unwrap().set_display(REGION);
model.add_formula(
crate::formula::parse_formula("Profit = Revenue - 1", "_Measure").unwrap(),
);
let measure = model.category_mut("_Measure").unwrap();
measure.add_item("Profit");
measure.set_item_display("Profit", PROFIT);
let refused = |key: &CellKey, measure: &str| {
let cell = RecordCell {
record: RecordHash::of(key),
measure: Some(measure.into()),
};
app.unwritable(app.view_name(), &cell)
};
let why = refused(&stray, "Revenue").expect("a non-item is refused");
assert!(why.contains(REGION), "{why}");
assert!(
why.starts_with("Mars "),
"the stray coordinate is a key: {why}"
);
let profit = CellKey::new(vec![
("Month".into(), "Jan".into()),
("Region".into(), "East".into()),
("_Measure".into(), "Profit".into()),
]);
let why = refused(&profit, "Profit").expect("a formula's result is refused");
assert!(why.starts_with(PROFIT), "{why}");
}
#[test]
fn a_non_item_refusal_names_the_categorys_display() {
let mut app = paged_app("Mars");
@@ -5631,6 +5672,18 @@ mod non_item_key_tests {
app.view_state.status_msg,
improvise_protocol::non_item_refusal("Sales territory of the whole company", "Mars"),
);
app.view_state.yanked = Some(CellValue::Number(7.0));
press(&mut app, "p");
assert!(
app.view_state
.status_msg
.ends_with(&improvise_protocol::non_item_refusal(
"Sales territory of the whole company",
"Mars"
)),
"{}",
app.view_state.status_msg
);
}
/// improvise-yc9r: `p` on a non-item cell writes no orphan. Evidence file.