aboutsummaryrefslogtreecommitdiff
path: root/tests/test_user.rs
blob: 267b57835e089f4b9dcc099e139e920d1b7a432a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
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"));
    }
}