コード例 #1
0
func TestValidatePasswordValid(t *testing.T) {
	u := new(viewmodels.UsersEditViewModel)
	u.Email = "*****@*****.**"
	u.Username = ""
	valErrors := validateUserForm(u, true)
	if !strings.Contains(valErrors["Username"], "non zero value required") {
		t.Error("UserName should show error for required.")
	}

	u.Username = "******"
	u.Email = "jack.example.com"
	valErrors = validateUserForm(u, true)
	if !strings.Contains(valErrors["Email"], "does not validate as email") {
		t.Error("Email Address Validation should show error for invalid email.")
	}

	u.Username = "******"
	u.Email = "*****@*****.**"
	u.Password = "******"
	valErrors = validateUserForm(u, false)
	if !strings.Contains(valErrors["Password"], "Password must be at least 6 characters in length") {
		t.Error("Password Validation should show error for short password.")
	}

	u.Password = "******"
	valErrors = validateUserForm(u, false)
	if !strings.Contains(valErrors["Password"], "Password must be at least 6 characters in length") {
		t.Error("Password Validation should show error for short password.")
	}

	u.Username = "******"
	u.Email = "*****@*****.**"
	u.Password = "******"
	u.Password2 = "long enough2"
	valErrors = validateUserForm(u, false)
	if !strings.Contains(valErrors["Password2"], "Repeated Password must be the same as Password.") {
		t.Error("Password Validation should show error for short password.")
	}

	u.Username = "******"
	u.Email = "*****@*****.**"
	u.Password = "******"
	u.Password2 = "long enough"
	valErrors = validateUserForm(u, false)
	if len(valErrors) > 0 {
		t.Error("No errors should be flagged for the set of inputs.")
	}
}