use serde::Serialize;
use crate::tapo_vendor::requests::SectionNames;
#[derive(Debug, Serialize)]
pub(crate) struct SmartCamGetPresetConfigParams {
preset: SectionNames,
}
impl SmartCamGetPresetConfigParams {
pub fn new() -> Self {
Self {
preset: SectionNames::new(&["preset"]),
}
}
}
#[cfg(test)]
mod tests {
use serde_json::json;
use crate::tapo_vendor::requests::{TapoParams, TapoRequest};
use super::*;
#[test]
fn request_names_its_method() {
let request = TapoRequest::SmartCamGetPresetConfig(TapoParams::new(
SmartCamGetPresetConfigParams::new(),
));
assert_eq!(
serde_json::to_value(&request).unwrap(),
json!({
"method": "getPresetConfig",
"params": { "preset": { "name": ["preset"] } },
})
);
}
}