extern crate serenity;
#[cfg(feature = "model")]
mod model {
use serenity::model::id::UserId;
use serenity::model::user::User;
fn gen() -> User {
User {
id: UserId(210),
avatar: Some("abc".to_string()),
bot: true,
discriminator: 1432,
name: "test".to_string(),
}
}
#[test]
fn test_core() {
let mut user = gen();
assert!(
user.avatar_url()
.unwrap()
.ends_with("/avatars/210/abc.webp?size=1024",)
);
assert!(
user.static_avatar_url()
.unwrap()
.ends_with("/avatars/210/abc.webp?size=1024",)
);
user.avatar = Some("a_aaa".to_string());
assert!(
user.avatar_url()
.unwrap()
.ends_with("/avatars/210/a_aaa.gif?size=1024",)
);
assert!(
user.static_avatar_url()
.unwrap()
.ends_with("/avatars/210/a_aaa.webp?size=1024",)
);
user.avatar = None;
assert!(user.avatar_url().is_none());
assert_eq!(user.tag(), "test#1432");
}
#[test]
fn default_avatars() {
let mut user = gen();
user.discriminator = 0;
assert!(user.default_avatar_url().ends_with("0.png"));
user.discriminator = 1;
assert!(user.default_avatar_url().ends_with("1.png"));
user.discriminator = 2;
assert!(user.default_avatar_url().ends_with("2.png"));
user.discriminator = 3;
assert!(user.default_avatar_url().ends_with("3.png"));
user.discriminator = 4;
assert!(user.default_avatar_url().ends_with("4.png"));
}
}