diff options
author | Joram Wilander <jwawilander@gmail.com> | 2018-01-23 11:04:44 -0500 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2018-01-23 08:04:44 -0800 |
commit | 4f4a765e7d0bbfdfecc0c52ae4be35f8d3b737ca (patch) | |
tree | 063aa55db9299f09d4176b201db658f1d7acced5 /api4/emoji_test.go | |
parent | 599991ea731953f772824ce3ed1e591246aa004f (diff) | |
download | chat-4f4a765e7d0bbfdfecc0c52ae4be35f8d3b737ca.tar.gz chat-4f4a765e7d0bbfdfecc0c52ae4be35f8d3b737ca.tar.bz2 chat-4f4a765e7d0bbfdfecc0c52ae4be35f8d3b737ca.zip |
ABC-90 Add POST /emoji/search and GET /emoji/autocomplete API endpoints (#8125)
* Add POST /emoji/search and GET /emoji/autocomplete API endpoints
* Add constant to be clearer
Diffstat (limited to 'api4/emoji_test.go')
-rw-r--r-- | api4/emoji_test.go | 134 |
1 files changed, 134 insertions, 0 deletions
diff --git a/api4/emoji_test.go b/api4/emoji_test.go index 3b0fecb2b..b8b093656 100644 --- a/api4/emoji_test.go +++ b/api4/emoji_test.go @@ -11,6 +11,8 @@ import ( "github.com/mattermost/mattermost-server/model" "github.com/mattermost/mattermost-server/utils" + + "github.com/stretchr/testify/assert" ) func TestCreateEmoji(t *testing.T) { @@ -432,3 +434,135 @@ func TestGetEmojiImage(t *testing.T) { _, resp = Client.GetEmojiImage("") CheckBadRequestStatus(t, resp) } + +func TestSearchEmoji(t *testing.T) { + th := Setup().InitBasic() + defer th.TearDown() + Client := th.Client + + th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = true }) + + searchTerm1 := model.NewId() + searchTerm2 := model.NewId() + + emojis := []*model.Emoji{ + { + CreatorId: th.BasicUser.Id, + Name: searchTerm1, + }, + { + CreatorId: th.BasicUser.Id, + Name: "blargh_" + searchTerm2, + }, + } + + for idx, emoji := range emojis { + emoji, resp := Client.CreateEmoji(emoji, utils.CreateTestGif(t, 10, 10), "image.gif") + CheckNoError(t, resp) + emojis[idx] = emoji + } + + search := &model.EmojiSearch{Term: searchTerm1} + remojis, resp := Client.SearchEmoji(search) + CheckNoError(t, resp) + CheckOKStatus(t, resp) + + found := false + for _, e := range remojis { + if e.Name == emojis[0].Name { + found = true + } + } + + assert.True(t, found) + + search.Term = searchTerm2 + search.PrefixOnly = true + remojis, resp = Client.SearchEmoji(search) + CheckNoError(t, resp) + CheckOKStatus(t, resp) + + found = false + for _, e := range remojis { + if e.Name == emojis[1].Name { + found = true + } + } + + assert.False(t, found) + + search.PrefixOnly = false + remojis, resp = Client.SearchEmoji(search) + CheckNoError(t, resp) + CheckOKStatus(t, resp) + + found = false + for _, e := range remojis { + if e.Name == emojis[1].Name { + found = true + } + } + + assert.True(t, found) + + search.Term = "" + _, resp = Client.SearchEmoji(search) + CheckBadRequestStatus(t, resp) + + Client.Logout() + _, resp = Client.SearchEmoji(search) + CheckUnauthorizedStatus(t, resp) +} + +func TestAutocompleteEmoji(t *testing.T) { + th := Setup().InitBasic() + defer th.TearDown() + Client := th.Client + + th.App.UpdateConfig(func(cfg *model.Config) { *cfg.ServiceSettings.EnableCustomEmoji = true }) + + searchTerm1 := model.NewId() + + emojis := []*model.Emoji{ + { + CreatorId: th.BasicUser.Id, + Name: searchTerm1, + }, + { + CreatorId: th.BasicUser.Id, + Name: "blargh_" + searchTerm1, + }, + } + + for idx, emoji := range emojis { + emoji, resp := Client.CreateEmoji(emoji, utils.CreateTestGif(t, 10, 10), "image.gif") + CheckNoError(t, resp) + emojis[idx] = emoji + } + + remojis, resp := Client.AutocompleteEmoji(searchTerm1, "") + CheckNoError(t, resp) + CheckOKStatus(t, resp) + + found1 := false + found2 := false + for _, e := range remojis { + if e.Name == emojis[0].Name { + found1 = true + } + + if e.Name == emojis[1].Name { + found2 = true + } + } + + assert.True(t, found1) + assert.False(t, found2) + + _, resp = Client.AutocompleteEmoji("", "") + CheckBadRequestStatus(t, resp) + + Client.Logout() + _, resp = Client.AutocompleteEmoji(searchTerm1, "") + CheckUnauthorizedStatus(t, resp) +} |