in components/search/src/filter.rs [1109:1262]
fn test_determine_default_engines_returns_global_default() {
let (default_engine_id, default_engine_private_id) = determine_default_engines(
&ENGINES_LIST,
Some(JSONDefaultEnginesRecord {
global_default: "engine2".to_string(),
global_default_private: String::new(),
specific_defaults: Vec::new(),
}),
&SearchUserEnvironment {
locale: "fi".into(),
..Default::default()
},
);
assert_eq!(
default_engine_id.unwrap(),
"engine2",
"Should have returned the global default engine"
);
assert!(
default_engine_private_id.is_none(),
"Should not have returned an id for the private engine"
);
let (default_engine_id, default_engine_private_id) = determine_default_engines(
&ENGINES_LIST,
Some(JSONDefaultEnginesRecord {
global_default: "engine2".to_string(),
global_default_private: String::new(),
specific_defaults: vec![JSONSpecificDefaultRecord {
default: "engine1".to_string(),
default_private: String::new(),
environment: JSONVariantEnvironment {
locales: vec!["en-GB".to_string()],
..Default::default()
},
}],
}),
&SearchUserEnvironment {
locale: "fi".into(),
..Default::default()
},
);
assert_eq!(
default_engine_id.unwrap(),
"engine2",
"Should have returned the global default engine when no specific defaults environments match"
);
assert!(
default_engine_private_id.is_none(),
"Should not have returned an id for the private engine"
);
let (default_engine_id, default_engine_private_id) = determine_default_engines(
&ENGINES_LIST,
Some(JSONDefaultEnginesRecord {
global_default: "engine2".to_string(),
global_default_private: String::new(),
specific_defaults: vec![JSONSpecificDefaultRecord {
default: "engine1".to_string(),
default_private: String::new(),
environment: JSONVariantEnvironment {
locales: vec!["fi".to_string()],
..Default::default()
},
}],
}),
&SearchUserEnvironment {
locale: "fi".into(),
..Default::default()
},
);
assert_eq!(
default_engine_id.unwrap(),
"engine1",
"Should have returned the specific default when environments match"
);
assert!(
default_engine_private_id.is_none(),
"Should not have returned an id for the private engine"
);
let (default_engine_id, default_engine_private_id) = determine_default_engines(
&ENGINES_LIST,
Some(JSONDefaultEnginesRecord {
global_default: "engine2".to_string(),
global_default_private: String::new(),
specific_defaults: vec![JSONSpecificDefaultRecord {
default: "engine4*".to_string(),
default_private: String::new(),
environment: JSONVariantEnvironment {
locales: vec!["fi".to_string()],
..Default::default()
},
}],
}),
&SearchUserEnvironment {
locale: "fi".into(),
..Default::default()
},
);
assert_eq!(
default_engine_id.unwrap(),
"engine4wildcardmatch",
"Should have returned the specific default when using a wildcard match"
);
assert!(
default_engine_private_id.is_none(),
"Should not have returned an id for the private engine"
);
let (default_engine_id, default_engine_private_id) = determine_default_engines(
&ENGINES_LIST,
Some(JSONDefaultEnginesRecord {
global_default: "engine2".to_string(),
global_default_private: String::new(),
specific_defaults: vec![
JSONSpecificDefaultRecord {
default: "engine4*".to_string(),
default_private: String::new(),
environment: JSONVariantEnvironment {
locales: vec!["fi".to_string()],
..Default::default()
},
},
JSONSpecificDefaultRecord {
default: "engine3".to_string(),
default_private: String::new(),
environment: JSONVariantEnvironment {
locales: vec!["fi".to_string()],
..Default::default()
},
},
],
}),
&SearchUserEnvironment {
locale: "fi".into(),
..Default::default()
},
);
assert_eq!(
default_engine_id.unwrap(),
"engine3",
"Should have returned the last specific default when multiple environments match"
);
assert!(
default_engine_private_id.is_none(),
"Should not have returned an id for the private engine"
);
}