aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authortahahawa <[email protected]>2017-12-24 10:39:11 -0500
committerZeyla Hellyer <[email protected]>2017-12-24 07:39:11 -0800
commita7b67df6d77f5acacf83710807b231866397d551 (patch)
tree4862489c26775ec9fe791bdf8bb2318458c22ac3 /tests
parentAdd `iter_quoted` (diff)
downloadserenity-a7b67df6d77f5acacf83710807b231866397d551.tar.xz
serenity-a7b67df6d77f5acacf83710807b231866397d551.zip
Fix Guild::member_named and add tests
Use rfind, in case there's more '#' in username than just the discriminator Split at pos+1 instead of pos and remove the trailing '#' in the split.0 (Name) Fix bug with parsing
Diffstat (limited to 'tests')
-rw-r--r--tests/test_guild.rs103
1 files changed, 103 insertions, 0 deletions
diff --git a/tests/test_guild.rs b/tests/test_guild.rs
new file mode 100644
index 0000000..1045381
--- /dev/null
+++ b/tests/test_guild.rs
@@ -0,0 +1,103 @@
+#![cfg(feature = "model")]
+
+extern crate chrono;
+extern crate serenity;
+
+use chrono::prelude::*;
+use serenity::model::prelude::*;
+use serenity::prelude::*;
+use std::collections::*;
+use std::sync::Arc;
+
+fn gen_user() -> User {
+ User {
+ id: UserId(210),
+ avatar: Some("abc".to_string()),
+ bot: true,
+ discriminator: 1432,
+ name: "test".to_string(),
+ }
+}
+
+fn gen_member() -> Member {
+ let dt: DateTime<FixedOffset> = FixedOffset::east(5 * 3600)
+ .ymd(2016, 11, 08)
+ .and_hms(0, 0, 0);
+ let vec1 = Vec::new();
+ let u = Arc::new(RwLock::new(gen_user()));
+
+ Member {
+ deaf: false,
+ guild_id: GuildId(1),
+ joined_at: Some(dt),
+ mute: false,
+ nick: Some("aaaa".to_string()),
+ roles: vec1,
+ user: u,
+ }
+}
+
+fn gen() -> Guild {
+ let u = gen_user();
+ let m = gen_member();
+
+ let hm1 = HashMap::new();
+ let hm2 = HashMap::new();
+ let vec1 = Vec::new();
+ let dt: DateTime<FixedOffset> = FixedOffset::east(5 * 3600)
+ .ymd(2016, 11, 08)
+ .and_hms(0, 0, 0);
+ let mut hm3 = HashMap::new();
+ let hm4 = HashMap::new();
+ let hm5 = HashMap::new();
+ let hm6 = HashMap::new();
+
+ hm3.insert(u.id, m);
+
+ Guild {
+ afk_channel_id: Some(ChannelId(0)),
+ afk_timeout: 0,
+ channels: hm1,
+ default_message_notifications: DefaultMessageNotificationLevel::All,
+ emojis: hm2,
+ features: vec1,
+ icon: Some("/avatars/210/a_aaa.webp?size=1024".to_string()),
+ id: GuildId(1),
+ joined_at: dt,
+ large: false,
+ member_count: 1,
+ members: hm3,
+ mfa_level: MfaLevel::Elevated,
+ name: "Spaghetti".to_string(),
+ owner_id: UserId(210),
+ presences: hm4,
+ region: "NA".to_string(),
+ roles: hm5,
+ splash: Some("asdf".to_string()),
+ verification_level: VerificationLevel::None,
+ voice_states: hm6,
+ application_id: Some(ApplicationId(0)),
+ explicit_content_filter: ExplicitContentFilter::None,
+ system_channel_id: Some(ChannelId(0)),
+ }
+}
+
+
+#[test]
+fn member_named_username() {
+ let guild = gen();
+ let lhs = guild
+ .member_named("test#1432")
+ .unwrap()
+ .display_name();
+
+ assert_eq!(lhs, gen_member().display_name());
+}
+
+#[test]
+fn member_named_nickname() {
+ let guild = gen();
+ let lhs = guild.member_named("aaaa").unwrap().display_name();
+
+ assert_eq!(lhs, gen_member().display_name());
+}