summaryrefslogtreecommitdiffstats
path: root/model/user_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'model/user_test.go')
-rw-r--r--model/user_test.go55
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{}