#[openapi_trait::axum("assets/testdata/one_of.openapi.yaml")]
pub mod fruity {}
#[test]
fn fruit_variants_serialize_to_their_payload() {
assert_eq!(
serde_json::to_string(&fruity::Fruit::Apple(fruity::Apple {
kind: Some("granny smith".into()),
}))
.unwrap(),
r#"{"kind":"granny smith"}"#,
);
assert_eq!(
serde_json::to_string(&fruity::Fruit::Banana(fruity::Banana { count: Some(3) })).unwrap(),
r#"{"count":3}"#,
);
assert_eq!(
serde_json::to_string(&fruity::Fruit::Orange(fruity::Orange { sweet: Some(true) }))
.unwrap(),
r#"{"sweet":true}"#,
);
}
#[test]
fn fruit_is_untagged_serialization() {
let apple = fruity::Fruit::Apple(fruity::Apple {
kind: Some("fuji".into()),
});
let json = serde_json::to_string(&apple).unwrap();
assert_eq!(json, r#"{"kind":"fuji"}"#);
}