refactor tests in model/reaction_test.go and move to testify t… (#12603)
Этот коммит содержится в:
коммит произвёл
Ben Schumacher
родитель
f97ed668ba
Коммит
8e86ec969e
@@ -6,79 +6,159 @@ package model
|
||||
import (
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func TestReactionIsValid(t *testing.T) {
|
||||
reaction := Reaction{
|
||||
UserId: NewId(),
|
||||
PostId: NewId(),
|
||||
EmojiName: "emoji",
|
||||
CreateAt: GetMillis(),
|
||||
tests := []struct {
|
||||
// reaction
|
||||
reaction Reaction
|
||||
// error message to print
|
||||
errMsg string
|
||||
// should there be an error
|
||||
shouldErr bool
|
||||
}{
|
||||
{
|
||||
reaction: Reaction{
|
||||
UserId: NewId(),
|
||||
PostId: NewId(),
|
||||
EmojiName: "emoji",
|
||||
CreateAt: GetMillis(),
|
||||
},
|
||||
errMsg: "",
|
||||
shouldErr: false,
|
||||
},
|
||||
{
|
||||
reaction: Reaction{
|
||||
UserId: "",
|
||||
PostId: NewId(),
|
||||
EmojiName: "emoji",
|
||||
CreateAt: GetMillis(),
|
||||
},
|
||||
errMsg: "user id should be invalid",
|
||||
shouldErr: true,
|
||||
},
|
||||
{
|
||||
reaction: Reaction{
|
||||
UserId: "1234garbage",
|
||||
PostId: NewId(),
|
||||
EmojiName: "emoji",
|
||||
CreateAt: GetMillis(),
|
||||
},
|
||||
errMsg: "user id should be invalid",
|
||||
shouldErr: true,
|
||||
},
|
||||
{
|
||||
reaction: Reaction{
|
||||
UserId: NewId(),
|
||||
PostId: "",
|
||||
EmojiName: "emoji",
|
||||
CreateAt: GetMillis(),
|
||||
},
|
||||
errMsg: "post id should be invalid",
|
||||
shouldErr: true,
|
||||
},
|
||||
{
|
||||
reaction: Reaction{
|
||||
UserId: NewId(),
|
||||
PostId: "1234garbage",
|
||||
EmojiName: "emoji",
|
||||
CreateAt: GetMillis(),
|
||||
},
|
||||
errMsg: "post id should be invalid",
|
||||
shouldErr: true,
|
||||
},
|
||||
{
|
||||
reaction: Reaction{
|
||||
UserId: NewId(),
|
||||
PostId: NewId(),
|
||||
EmojiName: strings.Repeat("a", 64),
|
||||
CreateAt: GetMillis(),
|
||||
},
|
||||
errMsg: "",
|
||||
shouldErr: false,
|
||||
},
|
||||
{
|
||||
reaction: Reaction{
|
||||
UserId: NewId(),
|
||||
PostId: NewId(),
|
||||
EmojiName: "emoji-",
|
||||
CreateAt: GetMillis(),
|
||||
},
|
||||
errMsg: "",
|
||||
shouldErr: false,
|
||||
},
|
||||
{
|
||||
reaction: Reaction{
|
||||
UserId: NewId(),
|
||||
PostId: NewId(),
|
||||
EmojiName: "emoji_",
|
||||
CreateAt: GetMillis(),
|
||||
},
|
||||
errMsg: "",
|
||||
shouldErr: false,
|
||||
},
|
||||
{
|
||||
reaction: Reaction{
|
||||
UserId: NewId(),
|
||||
PostId: NewId(),
|
||||
EmojiName: "+1",
|
||||
CreateAt: GetMillis(),
|
||||
},
|
||||
errMsg: "",
|
||||
shouldErr: false,
|
||||
},
|
||||
{
|
||||
reaction: Reaction{
|
||||
UserId: NewId(),
|
||||
PostId: NewId(),
|
||||
EmojiName: "emoji:",
|
||||
CreateAt: GetMillis(),
|
||||
},
|
||||
errMsg: "",
|
||||
shouldErr: true,
|
||||
},
|
||||
{
|
||||
reaction: Reaction{
|
||||
UserId: NewId(),
|
||||
PostId: NewId(),
|
||||
EmojiName: "",
|
||||
CreateAt: GetMillis(),
|
||||
},
|
||||
errMsg: "emoji name should be invalid",
|
||||
shouldErr: true,
|
||||
},
|
||||
{
|
||||
reaction: Reaction{
|
||||
UserId: NewId(),
|
||||
PostId: NewId(),
|
||||
EmojiName: strings.Repeat("a", 65),
|
||||
CreateAt: GetMillis(),
|
||||
},
|
||||
errMsg: "emoji name should be invalid",
|
||||
shouldErr: true,
|
||||
},
|
||||
{
|
||||
reaction: Reaction{
|
||||
UserId: NewId(),
|
||||
PostId: NewId(),
|
||||
EmojiName: "emoji",
|
||||
CreateAt: 0,
|
||||
},
|
||||
errMsg: "create at should be invalid",
|
||||
shouldErr: true,
|
||||
},
|
||||
}
|
||||
|
||||
if err := reaction.IsValid(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
reaction.UserId = ""
|
||||
if err := reaction.IsValid(); err == nil {
|
||||
t.Fatal("user id should be invalid")
|
||||
}
|
||||
|
||||
reaction.UserId = "1234garbage"
|
||||
if err := reaction.IsValid(); err == nil {
|
||||
t.Fatal("user id should be invalid")
|
||||
}
|
||||
|
||||
reaction.UserId = NewId()
|
||||
reaction.PostId = ""
|
||||
if err := reaction.IsValid(); err == nil {
|
||||
t.Fatal("post id should be invalid")
|
||||
}
|
||||
|
||||
reaction.PostId = "1234garbage"
|
||||
if err := reaction.IsValid(); err == nil {
|
||||
t.Fatal("post id should be invalid")
|
||||
}
|
||||
|
||||
reaction.PostId = NewId()
|
||||
reaction.EmojiName = strings.Repeat("a", 64)
|
||||
if err := reaction.IsValid(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
reaction.EmojiName = "emoji-"
|
||||
if err := reaction.IsValid(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
reaction.EmojiName = "emoji_"
|
||||
if err := reaction.IsValid(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
reaction.EmojiName = "+1"
|
||||
if err := reaction.IsValid(); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
reaction.EmojiName = "emoji:"
|
||||
if err := reaction.IsValid(); err == nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
reaction.EmojiName = ""
|
||||
if err := reaction.IsValid(); err == nil {
|
||||
t.Fatal("emoji name should be invalid")
|
||||
}
|
||||
|
||||
reaction.EmojiName = strings.Repeat("a", 65)
|
||||
if err := reaction.IsValid(); err == nil {
|
||||
t.Fatal("emoji name should be invalid")
|
||||
}
|
||||
|
||||
reaction.CreateAt = 0
|
||||
if err := reaction.IsValid(); err == nil {
|
||||
t.Fatal("create at should be invalid")
|
||||
for _, test := range tests {
|
||||
err := test.reaction.IsValid()
|
||||
if test.shouldErr {
|
||||
// there should be an error here
|
||||
require.NotNil(t, err, test.errMsg)
|
||||
} else {
|
||||
// err should be nil here
|
||||
require.Nil(t, err, test.errMsg)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user