use super::model::ToolModeParitySource;
use super::{clear_user_overrides, lookup, set_user_overrides_toml};
#[test]
fn tool_mode_parity_reports_whether_anyone_declared_it() {
clear_user_overrides();
let derived = lookup("fireworks", "accounts/fireworks/models/gpt-oss-120b");
assert_eq!(derived.tool_mode_parity.as_deref(), Some("text_only"));
assert_eq!(
derived.tool_mode_parity_source,
Some(ToolModeParitySource::Derived)
);
set_user_overrides_toml(
r#"
[[provider.parity-provenance-fixture]]
model_match = "declared-text-only"
native_tools = false
preferred_tool_format = "json"
tool_mode_parity = "text_only"
"#,
)
.expect("declared parity override parses");
let declared = lookup("parity-provenance-fixture", "declared-text-only");
assert_eq!(declared.tool_mode_parity.as_deref(), Some("text_only"));
assert_eq!(
declared.tool_mode_parity_source,
Some(ToolModeParitySource::Declared)
);
clear_user_overrides();
let unmatched = lookup("no-such-provider", "no-such-model");
assert_eq!(unmatched.tool_mode_parity, None);
assert_eq!(unmatched.tool_mode_parity_source, None);
}