github.com/spline-fu/mattermost-server@v4.10.10+incompatible/model/emoji_test.go (about) 1 // Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. 2 // See License.txt for license information. 3 4 package model 5 6 import ( 7 "strings" 8 "testing" 9 ) 10 11 func TestEmojiIsValid(t *testing.T) { 12 emoji := Emoji{ 13 Id: NewId(), 14 CreateAt: 1234, 15 UpdateAt: 1234, 16 DeleteAt: 0, 17 CreatorId: NewId(), 18 Name: "name", 19 } 20 21 if err := emoji.IsValid(); err != nil { 22 t.Fatal(err) 23 } 24 25 emoji.Id = "1234" 26 if err := emoji.IsValid(); err == nil { 27 t.Fatal() 28 } 29 30 emoji.Id = NewId() 31 emoji.CreateAt = 0 32 if err := emoji.IsValid(); err == nil { 33 t.Fatal() 34 } 35 36 emoji.CreateAt = 1234 37 emoji.UpdateAt = 0 38 if err := emoji.IsValid(); err == nil { 39 t.Fatal() 40 } 41 42 emoji.UpdateAt = 1234 43 emoji.CreatorId = strings.Repeat("1", 25) 44 if err := emoji.IsValid(); err == nil { 45 t.Fatal() 46 } 47 48 emoji.CreatorId = strings.Repeat("1", 27) 49 if err := emoji.IsValid(); err == nil { 50 t.Fatal() 51 } 52 53 emoji.CreatorId = NewId() 54 emoji.Name = strings.Repeat("1", 65) 55 if err := emoji.IsValid(); err == nil { 56 t.Fatal() 57 } 58 59 emoji.Name = "" 60 if err := emoji.IsValid(); err == nil { 61 t.Fatal(err) 62 } 63 64 emoji.Name = strings.Repeat("1", 64) 65 if err := emoji.IsValid(); err != nil { 66 t.Fatal(err) 67 } 68 69 emoji.Name = "name-" 70 if err := emoji.IsValid(); err != nil { 71 t.Fatal(err) 72 } 73 74 emoji.Name = "name_" 75 if err := emoji.IsValid(); err != nil { 76 t.Fatal(err) 77 } 78 79 emoji.Name = "name:" 80 if err := emoji.IsValid(); err == nil { 81 t.Fatal(err) 82 } 83 84 emoji.Name = "croissant" 85 if err := emoji.IsValid(); err == nil { 86 t.Fatal(err) 87 } 88 }