diff options
| author | tahahawa <[email protected]> | 2017-12-24 10:39:11 -0500 |
|---|---|---|
| committer | Zeyla Hellyer <[email protected]> | 2017-12-24 07:39:11 -0800 |
| commit | a7b67df6d77f5acacf83710807b231866397d551 (patch) | |
| tree | 4862489c26775ec9fe791bdf8bb2318458c22ac3 /tests | |
| parent | Add `iter_quoted` (diff) | |
| download | serenity-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.rs | 103 |
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()); +} |