use serde::Serialize;
use crate::AnkiRequest;
use crate::entities::CardId;
#[derive(Default, Debug, Clone, PartialEq, Eq, Serialize)]
pub struct GuiSelectCardRequest {
pub card: CardId,
}
impl AnkiRequest for GuiSelectCardRequest {
type Response = bool;
const ACTION: &'static str = "guiSelectCard";
const VERSION: u8 = 6;
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_serialize() {
let request = GuiSelectCardRequest {
card: 1494723142483,
};
let json = serde_json::to_string_pretty(&request).unwrap();
assert_eq!(
json,
r#"{
"card": 1494723142483
}"#
);
}
#[test]
fn test_deserialize() {
let json = "true";
let response: <GuiSelectCardRequest as AnkiRequest>::Response =
serde_json::from_str(json).unwrap();
assert!(response);
}
}