Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 

44 řádky
966 B

  1. package model
  2. import (
  3. "testing"
  4. "github.com/glebarez/sqlite"
  5. "github.com/stretchr/testify/assert"
  6. "github.com/stretchr/testify/require"
  7. "gorm.io/gorm"
  8. )
  9. func TestUser_CaptureRelayField_DB(t *testing.T) {
  10. db, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{})
  11. require.NoError(t, err)
  12. defer func() {
  13. sqlDB, _ := db.DB()
  14. sqlDB.Close()
  15. }()
  16. err = db.AutoMigrate(&User{})
  17. require.NoError(t, err)
  18. user := &User{
  19. Username: "capture-test-user",
  20. Password: "12345678",
  21. DisplayName: "capture test",
  22. CaptureRelay: false,
  23. }
  24. err = db.Create(user).Error
  25. require.NoError(t, err)
  26. var retrieved User
  27. err = db.First(&retrieved, user.Id).Error
  28. require.NoError(t, err)
  29. assert.False(t, retrieved.CaptureRelay)
  30. // 测试设置为 true
  31. err = db.Model(&retrieved).Update("capture_relay", true).Error
  32. require.NoError(t, err)
  33. err = db.First(&retrieved, user.Id).Error
  34. require.NoError(t, err)
  35. assert.True(t, retrieved.CaptureRelay)
  36. }