use crate::channels::telegram::delivery::strip_echoed_plan_title;
const TITLE: &str = "Business Tinder Help System Upgrade";
#[test]
fn the_reminders_own_shape_is_stripped() {
for line in [
"📋 Plan: \"Business Tinder Help System Upgrade\"",
"📋 Business Tinder Help System Upgrade",
"Plan: Business Tinder Help System Upgrade",
"\"Business Tinder Help System Upgrade\"",
] {
let text = format!("{line}\n\nHere is what I found.");
assert_eq!(
strip_echoed_plan_title(&text, TITLE),
"Here is what I found.",
"must strip: {line}"
);
}
}
#[test]
fn markdown_headings_and_emphasis_are_stripped() {
for line in [
"# Business Tinder Help System Upgrade",
"## Business Tinder Help System Upgrade",
"**Business Tinder Help System Upgrade**",
"__Business Tinder Help System Upgrade__",
"Business Tinder Help System Upgrade",
] {
let text = format!("{line}\n\nHere is what I found.");
assert_eq!(
strip_echoed_plan_title(&text, TITLE),
"Here is what I found.",
"must strip: {line}"
);
}
}
#[test]
fn a_line_that_merely_mentions_the_title_is_kept() {
let text = format!("I finished {TITLE} and moved on.\n\nDetails below.");
assert_eq!(strip_echoed_plan_title(&text, TITLE), text);
}
#[test]
fn an_unrelated_opening_line_is_kept() {
let text = "Here is the reconciliation you asked for.\n\nFirst item.";
assert_eq!(strip_echoed_plan_title(text, TITLE), text);
}
#[test]
fn only_the_first_line_is_considered() {
let text = format!("Summary first.\n\n# {TITLE}\n\nThen detail.");
assert_eq!(strip_echoed_plan_title(&text, TITLE), text);
}
#[test]
fn an_empty_title_strips_nothing() {
let text = "Here is the answer.";
assert_eq!(strip_echoed_plan_title(text, ""), text);
assert_eq!(strip_echoed_plan_title(text, " "), text);
}
#[test]
fn a_response_that_is_only_the_title_becomes_empty() {
assert_eq!(
strip_echoed_plan_title("# Business Tinder Help System Upgrade", TITLE),
""
);
}
#[test]
fn leading_blank_lines_do_not_defeat_it() {
let text = format!("\n\n📋 {TITLE}\n\nBody.");
assert_eq!(strip_echoed_plan_title(&text, TITLE), "Body.");
}
#[test]
fn a_different_plan_title_is_not_stripped() {
let text = "# Some Other Plan\n\nBody.";
assert_eq!(strip_echoed_plan_title(text, TITLE), text);
}