mattermost/server/public/model/emoji_test.go
Jesse Hallam bb02b35048
Expose public/ API as submodule (#23345)
* model -> public/model

* plugin -> public/plugin

* public/model/utils -> public/utils

* platform/shared/mlog -> public/shared/mlog

* platform/shared/i18n -> public/shared/i18n

* platform/shared/markdown -> public/shared/markdown

* platform/services/timezones -> public/shared/timezones

* channels/einterfaces -> einterfaces

* expose public/ submodule

* go mod tidy

* .github: cache-dependency-path, setup-go-work

* modules-tidy for public/ too

* remove old gomodtidy
2023-05-10 13:07:02 -03:00

64 lines
1.2 KiB
Go

// Copyright (c) 2015-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",
}
require.Nil(t, emoji.IsValid())
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.Nil(t, emoji.IsValid())
emoji.Name = "name:"
require.NotNil(t, emoji.IsValid())
emoji.Name = "croissant"
require.NotNil(t, emoji.IsValid())
}