graphql_federated_graph/directives/
deprecated.rs1use cynic_parser_deser::ValueDeserialize;
2
3#[derive(ValueDeserialize)]
4pub struct DeprecatedDirective<'a> {
5 pub reason: Option<&'a str>,
6}
7
8#[cfg(test)]
9mod tests {
10 use super::*;
11 use crate::directives::{directive_test_document, parse_from_test_document};
12
13 #[test]
14 fn test_parsing_no_reason() {
15 let doc = directive_test_document("@deprecated");
16 let value = parse_from_test_document::<DeprecatedDirective<'_>>(&doc).unwrap();
17
18 assert_eq!(value.reason, None);
19 }
20
21 #[test]
22 fn test_parsing_with_reason() {
23 let doc = directive_test_document("@deprecated(reason: \"because I wanted to\")");
24 let value = parse_from_test_document::<DeprecatedDirective<'_>>(&doc).unwrap();
25
26 assert_eq!(value.reason, Some("because I wanted to"));
27 }
28}