added test for partially matched table name/alias as suffix
This commit is contained in:
parent
f4108cb354
commit
e4d637e6e0
|
@ -64,8 +64,9 @@ func NormalizeUniqueIndexError(err error, tableOrAlias string, fieldNames []stri
|
|||
normalizedErrs := validation.Errors{}
|
||||
|
||||
for _, name := range fieldNames {
|
||||
// note: extra space to exclude other fields starting with the current field name
|
||||
if strings.Contains(msg, strings.ToLower(tableOrAlias+"."+name+" ")) {
|
||||
// note: extra spaces to exclude table name with suffix matching the current one
|
||||
// OR other fields starting with the current field name
|
||||
if strings.Contains(msg, strings.ToLower(" "+tableOrAlias+"."+name+" ")) {
|
||||
normalizedErrs[name] = validation.NewError("validation_not_unique", "Value must be unique")
|
||||
}
|
||||
}
|
||||
|
|
|
@ -78,6 +78,13 @@ func TestNormalizeUniqueIndexError(t *testing.T) {
|
|||
[]string{"a", "b"},
|
||||
nil,
|
||||
},
|
||||
{
|
||||
"unique index error with table name suffix matching the specified one",
|
||||
errors.New("UNIQUE constraint failed for fields test_suffix.a,test_suffix.b"),
|
||||
"suffix",
|
||||
[]string{"a", "b", "c"},
|
||||
nil,
|
||||
},
|
||||
{
|
||||
"unique index error but mismatched fields",
|
||||
errors.New("UNIQUE constraint failed for fields test.a,test.b"),
|
||||
|
|
Loading…
Reference in New Issue