mod.rs (1263B)
1 #![forbid(unsafe_code)] 2 3 pub mod decode; 4 pub mod encode; 5 6 #[cfg(test)] 7 mod tests { 8 use crate::document::encode::document_build_tags; 9 use radroots_events::document::{RadrootsDocument, RadrootsDocumentSubject}; 10 11 #[test] 12 fn document_tags_include_required_fields() { 13 let document = RadrootsDocument { 14 d_tag: "EAAAAAAAAAAAAAAAAAAAAA".to_string(), 15 doc_type: "charter".to_string(), 16 title: "Sierra Co-op Charter".to_string(), 17 version: "1.0.0".to_string(), 18 summary: None, 19 effective_at: None, 20 body_markdown: None, 21 subject: RadrootsDocumentSubject { 22 pubkey: "coop_pubkey".to_string(), 23 address: Some("30360:coop_pubkey:BAAAAAAAAAAAAAAAAAAAAA".to_string()), 24 }, 25 tags: Some(vec!["charter".to_string()]), 26 }; 27 28 let tags = document_build_tags(&document).expect("tags"); 29 assert!(tags.iter().any(|tag| tag.get(0) == Some(&"d".to_string()))); 30 assert!(tags.iter().any(|tag| tag.get(0) == Some(&"p".to_string()))); 31 assert!(tags.iter().any(|tag| tag.get(0) == Some(&"a".to_string()))); 32 assert!(tags.iter().any(|tag| tag.get(0) == Some(&"t".to_string()))); 33 } 34 }