|
- 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)
- }
|