codegen: add foreign key error check test
This commit is contained in:
21
pkg/db/errors_test_helper.go
Normal file
21
pkg/db/errors_test_helper.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package db
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func AssertForeignKeyError[T ForeignKey](t *testing.T, err error, field string, val T) {
|
||||
t.Helper()
|
||||
|
||||
var fkErr ForeignKeyError[T]
|
||||
require.Error(t, err)
|
||||
require.ErrorIs(t, err, ErrForeignKeyViolation)
|
||||
// ErrorAs produces terrible error messages if it's a ForeignKeyError with a different type
|
||||
// parameter (i.e., if it was a different field that failed).
|
||||
require.ErrorAs(t, err, &fkErr, "expected error field: %q", field)
|
||||
assert.Equal(t, field, fkErr.Field)
|
||||
assert.Equal(t, val, fkErr.FkValue)
|
||||
}
|
||||
Reference in New Issue
Block a user