Skip to content

Commit 8ebd7d4

Browse files
committed
nostr/nips: add Badge Definition Event test
1 parent de6e989 commit 8ebd7d4

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

crates/nostr/src/nips/nip58.rs

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,3 +323,35 @@ impl ProfileBadgesEvent {
323323
Ok(ProfileBadgesEvent(event))
324324
}
325325
}
326+
327+
#[cfg(test)]
328+
mod tests {
329+
use super::*;
330+
331+
#[test]
332+
fn test_badge_definition_builder() {
333+
let example_event_json = r#"{"content":"","id":"378f145897eea948952674269945e88612420db35791784abf0616b4fed56ef7","sig":"fd0954de564cae9923c2d8ee9ab2bf35bc19757f8e328a978958a2fcc950eaba0754148a203adec29b7b64080d0cf5a32bebedd768ea6eb421a6b751bb4584a8","created_at":1671739153,"pubkey":"79dff8f82963424e0bb02708a22e44b4980893e3a4be0fa3cb60a43b946764e3","kind":30009,"tags":[["d","bravery"],["name","Medal of Bravery"],["image","https://nostr.academy/awards/bravery.png","1024x1024"],["description","Awarded to users demonstrating bravery"],["thumb","https://nostr.academy/awards/bravery_256x256.png","256x256"]]}"#;
334+
335+
let example_event: Event = serde_json::from_str(example_event_json).unwrap();
336+
337+
let mut builder = BadgeDefinitionBuilder::new("bravery".to_owned());
338+
let image_dimensions = ImageDimensions(1024, 1024);
339+
let thumb_size = ImageDimensions(256, 256);
340+
let thumbs = vec![(
341+
"https://nostr.academy/awards/bravery_256x256.png".to_owned(),
342+
Some(thumb_size),
343+
)];
344+
builder = builder
345+
.name("Medal of Bravery".to_owned())
346+
.description("Awarded to users demonstrating bravery".to_owned())
347+
.image("https://nostr.academy/awards/bravery.png".to_owned())
348+
.image_dimensions(image_dimensions)
349+
.thumbs(thumbs);
350+
351+
let keys = Keys::generate();
352+
let badge_definition_event = builder.build(&keys).unwrap().0;
353+
354+
assert_eq!(badge_definition_event.kind, Kind::BadgeDefinition);
355+
assert_eq!(badge_definition_event.tags, example_event.tags);
356+
}
357+
}

0 commit comments

Comments
 (0)