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.") } }