use crate::brain::provider::CodexCliProvider;
use crate::brain::provider::Provider;
#[test]
fn default_model_is_gpt55() {
let Ok(p) = CodexCliProvider::new() else {
return;
};
assert_eq!(p.default_model(), "gpt-5.5");
}
#[test]
fn with_default_model_overrides() {
let Ok(p) = CodexCliProvider::new() else {
return;
};
let p = p.with_default_model("gpt-5.3-codex".to_string());
assert_eq!(p.default_model(), "gpt-5.3-codex");
}
#[test]
fn supported_models_includes_recommended_set() {
let Ok(p) = CodexCliProvider::new() else {
return;
};
let models = p.supported_models();
assert!(models.iter().any(|m| m == "gpt-5.5"));
assert!(models.iter().any(|m| m == "gpt-5.4"));
assert!(models.iter().any(|m| m == "gpt-5.4-mini"));
assert!(models.iter().any(|m| m == "gpt-5.3-codex"));
}
#[test]
fn capability_flags_match_cli_subprocess_pattern() {
let Ok(p) = CodexCliProvider::new() else {
return;
};
assert!(p.cli_handles_tools());
assert!(!p.cli_manages_context());
assert!(!p.supports_vision());
}
#[test]
fn name_is_codex_cli() {
let Ok(p) = CodexCliProvider::new() else {
return;
};
assert_eq!(p.name(), "codex-cli");
}