1package discordgo
2
3import (
4	"testing"
5)
6
7func TestContentWithMoreMentionsReplaced(t *testing.T) {
8	s := &Session{StateEnabled: true, State: NewState()}
9
10	user := &User{
11		ID:       "user",
12		Username: "User Name",
13	}
14
15	s.State.GuildAdd(&Guild{ID: "guild"})
16	s.State.RoleAdd("guild", &Role{
17		ID:          "role",
18		Name:        "Role Name",
19		Mentionable: true,
20	})
21	s.State.MemberAdd(&Member{
22		User:    user,
23		Nick:    "User Nick",
24		GuildID: "guild",
25	})
26	s.State.ChannelAdd(&Channel{
27		Name:    "Channel Name",
28		GuildID: "guild",
29		ID:      "channel",
30	})
31	m := &Message{
32		Content:      "<@&role> <@!user> <@user> <#channel>",
33		ChannelID:    "channel",
34		MentionRoles: []string{"role"},
35		Mentions:     []*User{user},
36	}
37	if result, _ := m.ContentWithMoreMentionsReplaced(s); result != "@Role Name @User Nick @User Name #Channel Name" {
38		t.Error(result)
39	}
40}
41