fix(database): add Scan method to insert query interfaces

* Implement Scan method for BunInsertQuery, GormInsertQuery, and PgSQLInsertQuery
* Update mock implementations to support Scan method
* Introduce GetForeignKeyColumn utility for foreign key resolution
* Add tests for GetForeignKeyColumn functionality
This commit is contained in:
Hein
2026-05-18 12:04:50 +02:00
parent cb416d49c4
commit cd65946191
9 changed files with 371 additions and 52 deletions
+7 -1
View File
@@ -101,12 +101,18 @@ func (m *mockInsertQuery) Value(column string, value interface{}) InsertQuery {
func (m *mockInsertQuery) OnConflict(action string) InsertQuery { return m }
func (m *mockInsertQuery) Returning(columns ...string) InsertQuery { return m }
func (m *mockInsertQuery) Exec(ctx context.Context) (Result, error) {
// Record the insert call
m.db.insertCalls = append(m.db.insertCalls, m.values)
m.db.lastID++
return &mockResult{lastID: m.db.lastID, rowsAffected: 1}, nil
}
func (m *mockInsertQuery) Scan(ctx context.Context, dest interface{}) error {
m.db.insertCalls = append(m.db.insertCalls, m.values)
m.db.lastID++
reflect.ValueOf(dest).Elem().Set(reflect.ValueOf(m.db.lastID))
return nil
}
// Mock UpdateQuery
type mockUpdateQuery struct {
db *mockDatabase