github.com/masterhung0112/hk_server/v5@v5.0.0-20220302090640-ec71aef15e1c/model/emoji_test.go (about)

     1  // Copyright (c) 2015-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  	"github.com/stretchr/testify/require"
    11  )
    12  
    13  func TestEmojiIsValid(t *testing.T) {
    14  	emoji := Emoji{
    15  		Id:        NewId(),
    16  		CreateAt:  1234,
    17  		UpdateAt:  1234,
    18  		DeleteAt:  0,
    19  		CreatorId: NewId(),
    20  		Name:      "name",
    21  	}
    22  
    23  	require.Nil(t, emoji.IsValid())
    24  
    25  	emoji.Id = "1234"
    26  	require.NotNil(t, emoji.IsValid())
    27  
    28  	emoji.Id = NewId()
    29  	emoji.CreateAt = 0
    30  	require.NotNil(t, emoji.IsValid())
    31  
    32  	emoji.CreateAt = 1234
    33  	emoji.UpdateAt = 0
    34  	require.NotNil(t, emoji.IsValid())
    35  
    36  	emoji.UpdateAt = 1234
    37  	emoji.CreatorId = strings.Repeat("1", 27)
    38  	require.NotNil(t, emoji.IsValid())
    39  
    40  	emoji.CreatorId = NewId()
    41  	emoji.Name = strings.Repeat("1", 65)
    42  	require.NotNil(t, emoji.IsValid())
    43  
    44  	emoji.Name = ""
    45  	require.NotNil(t, emoji.IsValid())
    46  
    47  	emoji.Name = strings.Repeat("1", 64)
    48  	require.Nil(t, emoji.IsValid())
    49  
    50  	emoji.Name = "name-"
    51  	require.Nil(t, emoji.IsValid())
    52  
    53  	emoji.Name = "name+"
    54  	require.Nil(t, emoji.IsValid())
    55  	emoji.Name = "name_"
    56  	require.Nil(t, emoji.IsValid())
    57  
    58  	emoji.Name = "name:"
    59  	require.NotNil(t, emoji.IsValid())
    60  
    61  	emoji.Name = "croissant"
    62  	require.NotNil(t, emoji.IsValid())
    63  }