You've already forked pocketbase
mirror of
https://github.com/pocketbase/pocketbase.git
synced 2025-09-16 17:46:19 +02:00
added test for partially matched table name/alias as suffix
This commit is contained in:
@@ -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"),
|
||||
|
Reference in New Issue
Block a user