package model import ( "testing" "github.com/glebarez/sqlite" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "gorm.io/gorm" ) func TestUser_CaptureRelayField_DB(t *testing.T) { db, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{}) require.NoError(t, err) defer func() { sqlDB, _ := db.DB() sqlDB.Close() }() err = db.AutoMigrate(&User{}) require.NoError(t, err) user := &User{ Username: "capture-test-user", Password: "12345678", DisplayName: "capture test", CaptureRelay: false, } err = db.Create(user).Error require.NoError(t, err) var retrieved User err = db.First(&retrieved, user.Id).Error require.NoError(t, err) assert.False(t, retrieved.CaptureRelay) // 测试设置为 true err = db.Model(&retrieved).Update("capture_relay", true).Error require.NoError(t, err) err = db.First(&retrieved, user.Id).Error require.NoError(t, err) assert.True(t, retrieved.CaptureRelay) }