Add a test to get_member_events

This commit is contained in:
Jonas Platte 2020-06-14 01:09:52 +02:00
parent 9dab2f5b1f
commit 43ae129ce2
No known key found for this signature in database
GPG Key ID: 7D261D771D915378

View File

@ -64,3 +64,39 @@ pub enum MembershipEventFilter {
/// The user has been banned.
Ban,
}
#[cfg(test)]
mod tests {
use std::convert::TryInto;
use matches::assert_matches;
use super::{MembershipEventFilter, Request};
#[test]
fn deserialization() {
let uri = http::Uri::builder()
.scheme("https")
.authority("example.org")
.path_and_query(
"/_matrix/client/r0/rooms/!dummy%3Aexample.org/members\
?not_membership=leave\
&at=1026",
)
.build()
.unwrap();
let req: Result<Request, _> =
http::Request::builder().uri(uri).body(Vec::<u8>::new()).unwrap().try_into();
assert_matches!(
req,
Ok(Request {
room_id,
at: Some(at),
membership: None,
not_membership: Some(MembershipEventFilter::Leave),
}) if room_id == "!dummy:example.org" && at == "1026"
);
}
}