From eb3763b3012d317ed7a449e538983ef8f83623f2 Mon Sep 17 00:00:00 2001 From: Takayuki Maeda Date: Wed, 10 Mar 2021 23:07:07 +0900 Subject: [PATCH] add test for deserializing room_member --- .../src/r0/membership/joined_members.rs | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/ruma-client-api/src/r0/membership/joined_members.rs b/ruma-client-api/src/r0/membership/joined_members.rs index 1999b37c..cc89b940 100644 --- a/ruma-client-api/src/r0/membership/joined_members.rs +++ b/ruma-client-api/src/r0/membership/joined_members.rs @@ -68,3 +68,37 @@ impl RoomMember { Default::default() } } + +#[cfg(test)] +mod test { + use super::RoomMember; + use matches::assert_matches; + use serde_json::{from_value as from_json_value, json}; + + #[test] + fn deserialize_room_member() { + assert_matches!( + from_json_value::(json!({ + "display_name": "alice", + "avatar_url": "mxc://localhost:wefuiwegh8742w", + })).unwrap(), + RoomMember { + display_name: Some(display_name), + avatar_url: Some(avatar_url), + } if display_name == "alice" + && avatar_url == "mxc://localhost:wefuiwegh8742w" + ); + + #[cfg(feature = "compat")] + assert_matches!( + from_json_value::(json!({ + "display_name": "alice", + "avatar_url": "", + })).unwrap(), + RoomMember { + display_name: Some(display_name), + avatar_url: None, + } if display_name == "alice" + ); + } +}