diff options
Diffstat (limited to 'model/user_test.go')
-rw-r--r-- | model/user_test.go | 55 |
1 files changed, 34 insertions, 21 deletions
diff --git a/model/user_test.go b/model/user_test.go index a42ec3da5..3eb931f5d 100644 --- a/model/user_test.go +++ b/model/user_test.go @@ -4,6 +4,8 @@ package model import ( + "fmt" + "net/http" "strings" "testing" ) @@ -71,43 +73,43 @@ func TestUserUpdateMentionKeysFromUsername(t *testing.T) { func TestUserIsValid(t *testing.T) { user := User{} - if err := user.IsValid(); err == nil { - t.Fatal() + if err := user.IsValid(); !HasExpectedUserIsValidError(err, "id", "") { + t.Fatal(err) } user.Id = NewId() - if err := user.IsValid(); err == nil { + if err := user.IsValid(); !HasExpectedUserIsValidError(err, "create_at", user.Id) { t.Fatal() } user.CreateAt = GetMillis() - if err := user.IsValid(); err == nil { + if err := user.IsValid(); !HasExpectedUserIsValidError(err, "update_at", user.Id) { t.Fatal() } user.UpdateAt = GetMillis() - if err := user.IsValid(); err == nil { + if err := user.IsValid(); !HasExpectedUserIsValidError(err, "username", user.Id) { t.Fatal() } user.Username = NewId() + "^hello#" - if err := user.IsValid(); err == nil { + if err := user.IsValid(); !HasExpectedUserIsValidError(err, "username", user.Id) { t.Fatal() } user.Username = "n" + NewId() - user.Email = strings.Repeat("01234567890", 20) - if err := user.IsValid(); err == nil { + user.Email = strings.Repeat("a", 129) + if err := user.IsValid(); !HasExpectedUserIsValidError(err, "email", user.Id) { t.Fatal() } - user.Email = "test@nowhere.com" - user.Nickname = strings.Repeat("01234567890", 20) - if err := user.IsValid(); err == nil { + user.Email = strings.Repeat("a", 128) + user.Nickname = strings.Repeat("a", 65) + if err := user.IsValid(); !HasExpectedUserIsValidError(err, "nickname", user.Id) { t.Fatal() } - user.Nickname = "" + user.Nickname = strings.Repeat("a", 64) if err := user.IsValid(); err != nil { t.Fatal(err) } @@ -118,29 +120,40 @@ func TestUserIsValid(t *testing.T) { t.Fatal(err) } - user.FirstName = strings.Repeat("01234567890", 20) - if err := user.IsValid(); err == nil { + user.FirstName = strings.Repeat("a", 65) + if err := user.IsValid(); !HasExpectedUserIsValidError(err, "first_name", user.Id) { t.Fatal(err) } - user.FirstName = "" - user.LastName = strings.Repeat("01234567890", 20) - if err := user.IsValid(); err == nil { + user.FirstName = strings.Repeat("a", 64) + user.LastName = strings.Repeat("a", 65) + if err := user.IsValid(); !HasExpectedUserIsValidError(err, "last_name", user.Id) { t.Fatal(err) } - user.LastName = "" - user.Position = "" + user.LastName = strings.Repeat("a", 64) + user.Position = strings.Repeat("a", 64) if err := user.IsValid(); err != nil { t.Fatal(err) } - user.Position = strings.Repeat("01234567890", 20) - if err := user.IsValid(); err == nil { + user.Position = strings.Repeat("a", 65) + if err := user.IsValid(); !HasExpectedUserIsValidError(err, "position", user.Id) { t.Fatal(err) } } +func HasExpectedUserIsValidError(err *AppError, fieldName string, userId string) bool { + if err == nil { + return false + } + + return err.Where == "User.IsValid" && + err.Id == fmt.Sprintf("model.user.is_valid.%s.app_error", fieldName) && + err.StatusCode == http.StatusBadRequest && + (userId == "" || err.DetailedError == "user_id="+userId) +} + func TestUserGetFullName(t *testing.T) { user := User{} |