lib

Core libraries for Radroots
git clone https://radroots.dev/git/lib.git
Log | Files | Refs | README | LICENSE

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 }