1#[cfg(test)]
2mod tests {
3 use crate::{
4 member::{Emoji, Sticker},
5 Guild, Snowflake, User,
6 };
7
8 #[test]
9 fn test_user_cdn() {
10 let user = User {
11 id: Snowflake(123456789),
12 username: "test".to_string().into(),
13 discriminator: "0".to_string().into(),
14 global_name: None,
15 avatar: Some("a_123hash".to_string().into()),
16 bot: false,
17 system: false,
18 mfa_enabled: None,
19 banner: None,
20 accent_color: None,
21 locale: None,
22 verified: None,
23 email: None,
24 flags: None,
25 premium_type: None,
26 public_flags: None,
27 avatar_decoration_data: None,
28 };
29
30 assert_eq!(
32 user.avatar_url(),
33 Some("https://cdn.discordapp.com/avatars/123456789/a_123hash.gif".to_string())
34 );
35
36 assert_eq!(
42 user.default_avatar_url(),
43 "https://cdn.discordapp.com/embed/avatars/5.png"
44 );
45
46 assert_eq!(
48 user.face(),
49 "https://cdn.discordapp.com/avatars/123456789/a_123hash.gif"
50 );
51 }
52
53 #[test]
54 fn test_guild_cdn() {
55 let guild = Guild {
56 id: Snowflake(123),
57 name: "Test Guild".to_string().into(),
58 icon: Some("iconhash".to_string().into()),
59 icon_hash: None,
60 splash: Some("splashhash".to_string().into()),
61 discovery_splash: None,
62 owner_id: None,
63 permissions: None,
64 region: None,
65 afk_channel_id: None,
66 afk_timeout: None,
67 verification_level: None,
68 default_message_notifications: None,
69 explicit_content_filter: None,
70 roles: vec![],
71 emojis: vec![],
72 features: vec![],
73 mfa_level: None,
74 application_id: None,
75 system_channel_id: None,
76 system_channel_flags: None,
77 rules_channel_id: None,
78 max_presences: None,
79 max_members: None,
80 vanity_url_code: None,
81 description: None,
82 banner: None,
83 premium_tier: None,
84 premium_subscription_count: None,
85 preferred_locale: None,
86 public_updates_channel_id: None,
87 max_video_channel_users: None,
88 max_stage_video_channel_users: None,
89 approximate_member_count: None,
90 approximate_presence_count: None,
91 member_count: None,
92 nsfw_level: None,
93 stickers: vec![],
94 premium_progress_bar_enabled: None,
95 safety_alerts_channel_id: None,
96 voice_states: vec![],
97 };
98
99 assert_eq!(
100 guild.icon_url(),
101 Some("https://cdn.discordapp.com/icons/123/iconhash.png".to_string())
102 );
103 assert_eq!(
104 guild.splash_url(),
105 Some("https://cdn.discordapp.com/splashes/123/splashhash.png".to_string())
106 );
107 }
108
109 #[test]
110 fn test_emoji_sticker_cdn() {
111 let emoji = Emoji {
112 id: Some(Snowflake(999)),
113 name: None,
114 roles: vec![].into(),
115 user: None,
116 require_colons: false,
117 managed: false,
118 animated: true,
119 available: true,
120 };
121 assert_eq!(
122 emoji.url(),
123 Some("https://cdn.discordapp.com/emojis/999.gif".to_string())
124 );
125
126 let sticker = Sticker {
127 id: Snowflake(888),
128 pack_id: None,
129 name: "Test".to_string().into(),
130 description: None,
131 tags: "".to_string().into(),
132 sticker_type: 1,
133 format_type: 1, user: None,
135 sort_value: None,
136 };
137 assert_eq!(sticker.url(), "https://cdn.discordapp.com/stickers/888.png");
138 }
139}