Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 

46 строки
1.0 KiB

  1. package model
  2. import (
  3. "testing"
  4. "github.com/QuantumNous/new-api/common"
  5. "github.com/glebarez/sqlite"
  6. "github.com/stretchr/testify/require"
  7. "gorm.io/gorm"
  8. )
  9. type channelPricingMigrationStub struct {
  10. ID uint `gorm:"primaryKey"`
  11. }
  12. func (channelPricingMigrationStub) TableName() string {
  13. return "channel_pricings"
  14. }
  15. type pricingTagMigrationStub struct {
  16. ID uint `gorm:"primaryKey"`
  17. }
  18. func (pricingTagMigrationStub) TableName() string {
  19. return "pricing_tags"
  20. }
  21. func TestMigrateDBDropsChannelPricingTables(t *testing.T) {
  22. db, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{})
  23. require.NoError(t, err)
  24. origDB := DB
  25. origSQLite := common.UsingSQLite
  26. DB = db
  27. common.UsingSQLite = true
  28. t.Cleanup(func() {
  29. DB = origDB
  30. common.UsingSQLite = origSQLite
  31. })
  32. require.NoError(t, db.AutoMigrate(&channelPricingMigrationStub{}, &pricingTagMigrationStub{}))
  33. require.NoError(t, migrateDB())
  34. require.False(t, DB.Migrator().HasTable("channel_pricings"))
  35. require.False(t, DB.Migrator().HasTable("pricing_tags"))
  36. }