|
- package model
-
- import (
- "testing"
-
- "github.com/QuantumNous/new-api/common"
- "github.com/glebarez/sqlite"
- "github.com/stretchr/testify/require"
- "gorm.io/gorm"
- )
-
- type channelPricingMigrationStub struct {
- ID uint `gorm:"primaryKey"`
- }
-
- func (channelPricingMigrationStub) TableName() string {
- return "channel_pricings"
- }
-
- type pricingTagMigrationStub struct {
- ID uint `gorm:"primaryKey"`
- }
-
- func (pricingTagMigrationStub) TableName() string {
- return "pricing_tags"
- }
-
- func TestMigrateDBDropsChannelPricingTables(t *testing.T) {
- db, err := gorm.Open(sqlite.Open(":memory:"), &gorm.Config{})
- require.NoError(t, err)
-
- origDB := DB
- origSQLite := common.UsingSQLite
- DB = db
- common.UsingSQLite = true
- t.Cleanup(func() {
- DB = origDB
- common.UsingSQLite = origSQLite
- })
-
- require.NoError(t, db.AutoMigrate(&channelPricingMigrationStub{}, &pricingTagMigrationStub{}))
- require.NoError(t, migrateDB())
- require.False(t, DB.Migrator().HasTable("channel_pricings"))
- require.False(t, DB.Migrator().HasTable("pricing_tags"))
- }
|