From a0cc913b85dea5023b705697afa5cd8749a6e5de Mon Sep 17 00:00:00 2001 From: Harrison Healey Date: Tue, 14 Jun 2016 09:38:19 -0400 Subject: PLT-3143 Added serverside code for custom Emoji (#3311) * Added model objects for emoji * Added database tables for emoji * Added settings for custom emoji * Added serverside APIs and unit tests for custom emoji * Added additional validation to catch duplicate emoji names earlier on * Added additional validation to prevent users from adding emoji as another user --- model/emoji_test.go | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 model/emoji_test.go (limited to 'model/emoji_test.go') diff --git a/model/emoji_test.go b/model/emoji_test.go new file mode 100644 index 000000000..cd6344ca5 --- /dev/null +++ b/model/emoji_test.go @@ -0,0 +1,63 @@ +// Copyright (c) 2016 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 = strings.Repeat("1", 64) + if err := emoji.IsValid(); err != nil { + t.Fatal(err) + } +} -- cgit v1.2.3-1-g7c22