username validation fixes #1418

This commit is contained in:
Brad Rydzewski
2017-07-17 00:01:35 -04:00
parent 0f693cb66d
commit 631cd10033
3 changed files with 74 additions and 0 deletions

46
model/user_test.go Normal file
View File

@@ -0,0 +1,46 @@
package model
import "testing"
func TestUserValidate(t *testing.T) {
var tests = []struct {
user User
err error
}{
{
user: User{},
err: errUserLoginInvalid,
},
{
user: User{Login: "octocat!"},
err: errUserLoginInvalid,
},
{
user: User{Login: "!octocat"},
err: errUserLoginInvalid,
},
{
user: User{Login: "john$smith"},
err: errUserLoginInvalid,
},
{
user: User{Login: "octocat"},
err: nil,
},
{
user: User{Login: "john-smith"},
err: nil,
},
{
user: User{Login: "john_smith"},
err: nil,
},
}
for _, test := range tests {
err := test.user.Validate()
if want, got := test.err, err; want != got {
t.Errorf("Want user validation error %s, got %s", want, got)
}
}
}