summaryrefslogtreecommitdiffstats
path: root/model/emoji_test.go
blob: 4539db87313afb44aa35fde04ba7c5d830c6d17f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.

package model

import (
	"strings"
	"testing"

	"github.com/stretchr/testify/require"
)

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"
	require.NotNil(t, emoji.IsValid())

	emoji.Id = NewId()
	emoji.CreateAt = 0
	require.NotNil(t, emoji.IsValid())

	emoji.CreateAt = 1234
	emoji.UpdateAt = 0
	require.NotNil(t, emoji.IsValid())

	emoji.UpdateAt = 1234
	emoji.CreatorId = strings.Repeat("1", 27)
	require.NotNil(t, emoji.IsValid())

	emoji.CreatorId = NewId()
	emoji.Name = strings.Repeat("1", 65)
	require.NotNil(t, emoji.IsValid())

	emoji.Name = ""
	require.NotNil(t, emoji.IsValid())

	emoji.Name = strings.Repeat("1", 64)
	require.Nil(t, emoji.IsValid())

	emoji.Name = "name-"
	require.Nil(t, emoji.IsValid())

	emoji.Name = "name_"
	require.Nil(t, emoji.IsValid())

	emoji.Name = "name:"
	require.NotNil(t, emoji.IsValid())

	emoji.Name = "croissant"
	require.NotNil(t, emoji.IsValid())
}