use nstreams_core::event::{DeliveredEvent, StreamEvent};
use nstreams_core::request_id::new_request_id;
#[test]
fn delivered_event_carries_request_id_and_version() {
let request_id = new_request_id();
let event = StreamEvent {
namespace: "internal.only".into(),
version: 7,
payload: br#"{"value":42}"#.to_vec(),
};
let delivered = DeliveredEvent::from_stream_event(&request_id, &event);
assert_eq!(delivered.request_id, request_id);
assert_eq!(delivered.version, 7);
let parsed: serde_json::Value = serde_json::from_slice(&delivered.payload).unwrap();
assert_eq!(parsed["value"], 42);
}
#[test]
fn delivered_event_payload_roundtrip() {
let delivered = DeliveredEvent {
request_id: new_request_id(),
version: 1,
payload: br#"{"ok":true}"#.to_vec(),
};
let parsed: serde_json::Value = delivered.payload_json().unwrap();
assert_eq!(parsed["ok"], true);
}