Files
mattermost/model/emoji_test.go
Fede 6094778e69 [MM-9777] Avoids adding custom emojis with the same name as a system emoji (#8461)
* Emoji validation fails if name exists in system emojis

* Use hashmap instead of array to improve performance

* Changed utils/StringInMap to emoji/isSystemEmoji

* Load system emojis from model/emoji.json

* Added emoji.json from webapp

* Load system emojis from emoji_data.go instead of emoji.json

* Run `gofmt -w model/emoji_data.go`
2018-03-23 09:11:43 -04:00

89 lines
1.5 KiB
Go

// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.
package model
import (
"strings"
"testing"
)
func TestEmojiIsValid(t *testing.T) {
emoji := Emoji{
Id: NewId(),
CreateAt: 1234,
UpdateAt: 1234,
DeleteAt: 0,
CreatorId: NewId(),
Name: "name",
}
if err := emoji.IsValid(); err != nil {
t.Fatal(err)
}
emoji.Id = "1234"
if err := emoji.IsValid(); err == nil {
t.Fatal()
}
emoji.Id = NewId()
emoji.CreateAt = 0
if err := emoji.IsValid(); err == nil {
t.Fatal()
}
emoji.CreateAt = 1234
emoji.UpdateAt = 0
if err := emoji.IsValid(); err == nil {
t.Fatal()
}
emoji.UpdateAt = 1234
emoji.CreatorId = strings.Repeat("1", 25)
if err := emoji.IsValid(); err == nil {
t.Fatal()
}
emoji.CreatorId = strings.Repeat("1", 27)
if err := emoji.IsValid(); err == nil {
t.Fatal()
}
emoji.CreatorId = NewId()
emoji.Name = strings.Repeat("1", 65)
if err := emoji.IsValid(); err == nil {
t.Fatal()
}
emoji.Name = ""
if err := emoji.IsValid(); err == nil {
t.Fatal(err)
}
emoji.Name = strings.Repeat("1", 64)
if err := emoji.IsValid(); err != nil {
t.Fatal(err)
}
emoji.Name = "name-"
if err := emoji.IsValid(); err != nil {
t.Fatal(err)
}
emoji.Name = "name_"
if err := emoji.IsValid(); err != nil {
t.Fatal(err)
}
emoji.Name = "name:"
if err := emoji.IsValid(); err == nil {
t.Fatal(err)
}
emoji.Name = "croissant"
if err := emoji.IsValid(); err == nil {
t.Fatal(err)
}
}