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