push: Split test assertions
This commit is contained in:
parent
191f3aca67
commit
085dc435fa
@ -537,7 +537,7 @@ mod tests {
|
||||
assert_eq!(rule.unwrap().rule_id, ".m.rule.call");
|
||||
|
||||
let rule = set.override_.get(".m.rule.doesntexist");
|
||||
assert!(rule.is_none());
|
||||
assert_matches!(rule, None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -569,29 +569,29 @@ mod tests {
|
||||
|
||||
let rule_opt = iter.next();
|
||||
assert!(rule_opt.is_some());
|
||||
assert_matches!(
|
||||
let rule_id = assert_matches!(
|
||||
rule_opt.unwrap(),
|
||||
AnyPushRule::Override(ConditionalPushRule { rule_id, .. })
|
||||
if rule_id == ".m.rule.call"
|
||||
AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) => rule_id
|
||||
);
|
||||
assert_eq!(rule_id, ".m.rule.call");
|
||||
|
||||
let rule_opt = iter.next();
|
||||
assert!(rule_opt.is_some());
|
||||
assert_matches!(
|
||||
let rule_id = assert_matches!(
|
||||
rule_opt.unwrap(),
|
||||
AnyPushRule::Override(ConditionalPushRule { rule_id, .. })
|
||||
if rule_id == "!roomid:matrix.org"
|
||||
AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) => rule_id
|
||||
);
|
||||
assert_eq!(rule_id, "!roomid:matrix.org");
|
||||
|
||||
let rule_opt = iter.next();
|
||||
assert!(rule_opt.is_some());
|
||||
assert_matches!(
|
||||
let rule_id = assert_matches!(
|
||||
rule_opt.unwrap(),
|
||||
AnyPushRule::Override(ConditionalPushRule { rule_id, .. })
|
||||
if rule_id == ".m.rule.suppress_notices"
|
||||
AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) => rule_id
|
||||
);
|
||||
assert_eq!(rule_id, ".m.rule.suppress_notices");
|
||||
|
||||
assert!(iter.next().is_none());
|
||||
assert_matches!(iter.next(), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -815,7 +815,7 @@ mod tests {
|
||||
|
||||
#[test]
|
||||
fn deserialize_patterned_push_rule() {
|
||||
let rule = from_json_value(json!({
|
||||
let rule = from_json_value::<PatternedPushRule>(json!({
|
||||
"actions": [
|
||||
"notify",
|
||||
{
|
||||
@ -833,21 +833,18 @@ mod tests {
|
||||
"enabled": true
|
||||
}))
|
||||
.unwrap();
|
||||
assert_matches!(
|
||||
rule,
|
||||
PatternedPushRule {
|
||||
actions: _,
|
||||
default: true,
|
||||
enabled: true,
|
||||
pattern,
|
||||
rule_id,
|
||||
}
|
||||
if pattern == "user_id" && rule_id == ".m.rule.contains_user_name"
|
||||
);
|
||||
assert!(rule.default);
|
||||
assert!(rule.enabled);
|
||||
assert_eq!(rule.pattern, "user_id");
|
||||
assert_eq!(rule.rule_id, ".m.rule.contains_user_name");
|
||||
|
||||
let mut iter = rule.actions.iter();
|
||||
assert_matches!(iter.next(), Some(Action::Notify));
|
||||
assert_matches!(iter.next(), Some(Action::SetTweak(Tweak::Sound(sound))) if sound == "default");
|
||||
let sound = assert_matches!(
|
||||
iter.next(),
|
||||
Some(Action::SetTweak(Tweak::Sound(sound))) => sound
|
||||
);
|
||||
assert_eq!(sound, "default");
|
||||
assert_matches!(iter.next(), Some(Action::SetTweak(Tweak::Highlight(true))));
|
||||
assert_matches!(iter.next(), None);
|
||||
}
|
||||
@ -912,53 +909,53 @@ mod tests {
|
||||
|
||||
let rule_opt = iter.next();
|
||||
assert!(rule_opt.is_some());
|
||||
assert_matches!(
|
||||
let rule_id = assert_matches!(
|
||||
rule_opt.unwrap(),
|
||||
AnyPushRule::Override(ConditionalPushRule { rule_id, .. })
|
||||
if rule_id == "!roomid:server.name"
|
||||
AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) => rule_id
|
||||
);
|
||||
assert_eq!(rule_id, "!roomid:server.name");
|
||||
|
||||
let rule_opt = iter.next();
|
||||
assert!(rule_opt.is_some());
|
||||
assert_matches!(
|
||||
let rule_id = assert_matches!(
|
||||
rule_opt.unwrap(),
|
||||
AnyPushRule::Override(ConditionalPushRule { rule_id, .. })
|
||||
if rule_id == ".m.rule.call"
|
||||
AnyPushRule::Override(ConditionalPushRule { rule_id, .. }) => rule_id
|
||||
);
|
||||
assert_eq!(rule_id, ".m.rule.call");
|
||||
|
||||
let rule_opt = iter.next();
|
||||
assert!(rule_opt.is_some());
|
||||
assert_matches!(
|
||||
let rule_id = assert_matches!(
|
||||
rule_opt.unwrap(),
|
||||
AnyPushRule::Content(PatternedPushRule { rule_id, .. })
|
||||
if rule_id == ".m.rule.contains_user_name"
|
||||
AnyPushRule::Content(PatternedPushRule { rule_id, .. }) => rule_id
|
||||
);
|
||||
assert_eq!(rule_id, ".m.rule.contains_user_name");
|
||||
|
||||
let rule_opt = iter.next();
|
||||
assert!(rule_opt.is_some());
|
||||
assert_matches!(
|
||||
let rule_id = assert_matches!(
|
||||
rule_opt.unwrap(),
|
||||
AnyPushRule::Content(PatternedPushRule { rule_id, .. })
|
||||
if rule_id == "ruma"
|
||||
AnyPushRule::Content(PatternedPushRule { rule_id, .. }) => rule_id
|
||||
);
|
||||
assert_eq!(rule_id, "ruma");
|
||||
|
||||
let rule_opt = iter.next();
|
||||
assert!(rule_opt.is_some());
|
||||
assert_matches!(
|
||||
let rule_id = assert_matches!(
|
||||
rule_opt.unwrap(),
|
||||
AnyPushRule::Room(SimplePushRule { rule_id, .. })
|
||||
if rule_id == "!roomid:server.name"
|
||||
AnyPushRule::Room(SimplePushRule { rule_id, .. }) => rule_id
|
||||
);
|
||||
assert_eq!(rule_id, "!roomid:server.name");
|
||||
|
||||
let rule_opt = iter.next();
|
||||
assert!(rule_opt.is_some());
|
||||
assert_matches!(
|
||||
let rule_id = assert_matches!(
|
||||
rule_opt.unwrap(),
|
||||
AnyPushRule::Underride(ConditionalPushRule { rule_id, .. })
|
||||
if rule_id == ".m.rule.room_one_to_one"
|
||||
AnyPushRule::Underride(ConditionalPushRule { rule_id, .. }) => rule_id
|
||||
);
|
||||
assert_eq!(rule_id, ".m.rule.room_one_to_one");
|
||||
|
||||
assert!(iter.next().is_none());
|
||||
assert_matches!(iter.next(), None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -1172,11 +1169,11 @@ mod tests {
|
||||
});
|
||||
set.add(three_conditions);
|
||||
|
||||
assert_matches!(
|
||||
let sound = assert_matches!(
|
||||
set.get_actions(&message, context_one_to_one),
|
||||
[Action::SetTweak(Tweak::Sound(sound))]
|
||||
if sound == "content"
|
||||
[Action::SetTweak(Tweak::Sound(sound))] => sound
|
||||
);
|
||||
assert_eq!(sound, "content");
|
||||
|
||||
let new_message = serde_json::from_str::<Raw<JsonValue>>(
|
||||
r#"{
|
||||
@ -1190,10 +1187,10 @@ mod tests {
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
assert_matches!(
|
||||
let sound = assert_matches!(
|
||||
set.get_actions(&new_message, context_one_to_one),
|
||||
[Action::SetTweak(Tweak::Sound(sound))]
|
||||
if sound == "three"
|
||||
[Action::SetTweak(Tweak::Sound(sound))] => sound
|
||||
);
|
||||
assert_eq!(sound, "three");
|
||||
}
|
||||
}
|
||||
|
@ -311,7 +311,6 @@ impl FlattenedJson {
|
||||
mod tests {
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
use crate::{room_id, serde::Raw, user_id};
|
||||
use assert_matches::assert_matches;
|
||||
use js_int::{int, uint};
|
||||
use maplit::btreemap;
|
||||
@ -320,7 +319,7 @@ mod tests {
|
||||
};
|
||||
|
||||
use super::{FlattenedJson, PushCondition, PushConditionRoomCtx, RoomMemberCountIs, StrExt};
|
||||
use crate::power_levels::NotificationPowerLevels;
|
||||
use crate::{power_levels::NotificationPowerLevels, room_id, serde::Raw, user_id};
|
||||
|
||||
#[test]
|
||||
fn serialize_event_match_condition() {
|
||||
@ -382,11 +381,12 @@ mod tests {
|
||||
"kind": "event_match",
|
||||
"pattern": "m.notice"
|
||||
});
|
||||
assert_matches!(
|
||||
let (key, pattern) = assert_matches!(
|
||||
from_json_value::<PushCondition>(json_data).unwrap(),
|
||||
PushCondition::EventMatch { key, pattern }
|
||||
if key == "content.msgtype" && pattern == "m.notice"
|
||||
PushCondition::EventMatch { key, pattern } => (key, pattern)
|
||||
);
|
||||
assert_eq!(key, "content.msgtype");
|
||||
assert_eq!(pattern, "m.notice");
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -403,11 +403,11 @@ mod tests {
|
||||
"is": "2",
|
||||
"kind": "room_member_count"
|
||||
});
|
||||
assert_matches!(
|
||||
let is = assert_matches!(
|
||||
from_json_value::<PushCondition>(json_data).unwrap(),
|
||||
PushCondition::RoomMemberCount { is }
|
||||
if is == RoomMemberCountIs::from(uint!(2))
|
||||
PushCondition::RoomMemberCount { is } => is
|
||||
);
|
||||
assert_eq!(is, RoomMemberCountIs::from(uint!(2)));
|
||||
}
|
||||
|
||||
#[test]
|
||||
@ -416,12 +416,11 @@ mod tests {
|
||||
"key": "room",
|
||||
"kind": "sender_notification_permission"
|
||||
});
|
||||
assert_matches!(
|
||||
let key = assert_matches!(
|
||||
from_json_value::<PushCondition>(json_data).unwrap(),
|
||||
PushCondition::SenderNotificationPermission {
|
||||
key
|
||||
} if key == "room"
|
||||
PushCondition::SenderNotificationPermission { key } => key
|
||||
);
|
||||
assert_eq!(key, "room");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
Loading…
x
Reference in New Issue
Block a user