pub struct AvailableUpgrade {
pub alias: String,
pub name: String,
pub multiplier: u32,
}
fn get_available_upgrade() -> Option<AvailableUpgrade> {
None
}
pub fn get_upgrade_message(context: &str) -> Option<String> {
let upgrade = get_available_upgrade()?;
match context {
"warning" => Some(format!("/model {}", upgrade.alias)),
"tip" => Some(format!(
"Tip: You have access to {} with {}x more context",
upgrade.name, upgrade.multiplier
)),
_ => None,
}
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_get_upgrade_message_no_upgrade() {
assert!(get_upgrade_message("warning").is_none());
assert!(get_upgrade_message("tip").is_none());
}
#[test]
fn test_get_upgrade_message_unknown_context() {
assert!(get_upgrade_message("unknown").is_none());
}
}