diff --git a/tests/soft_delete_test.go b/tests/soft_delete_test.go index 2a7ff2a1..179ae426 100644 --- a/tests/soft_delete_test.go +++ b/tests/soft_delete_test.go @@ -100,25 +100,28 @@ func TestDeletedAtOneOr(t *testing.T) { } } -type Book struct { - ID uint - Name string - Pages uint - DeletedAt gorm.DeletedAt `gorm:"zeroValue:'1970-01-01 00:00:01'"` -} - func TestSoftDeleteZeroValue(t *testing.T) { + type SoftDeleteBook struct { + ID uint + Name string + Pages uint + DeletedAt gorm.DeletedAt `gorm:"zeroValue:'1970-01-01 00:00:01'"` + } + DB.Migrator().DropTable(&SoftDeleteBook{}) + if err := DB.AutoMigrate(&SoftDeleteBook{}); err != nil { + t.Fatalf("failed to auto migrate soft delete table") + } - book := Book{Name: "jinzhu", Pages: 10} + book := SoftDeleteBook{Name: "jinzhu", Pages: 10} DB.Save(&book) var count int64 - if DB.Model(&Book{}).Where("name = ?", book.Name).Count(&count).Error != nil || count != 1 { + if DB.Model(&SoftDeleteBook{}).Where("name = ?", book.Name).Count(&count).Error != nil || count != 1 { t.Errorf("Count soft deleted record, expects: %v, got: %v", 1, count) } var pages uint - if DB.Model(&Book{}).Select("pages").Where("name = ?", book.Name).Scan(&pages).Error != nil || pages != book.Pages { + if DB.Model(&SoftDeleteBook{}).Select("pages").Where("name = ?", book.Name).Scan(&pages).Error != nil || pages != book.Pages { t.Errorf("Pages soft deleted record, expects: %v, got: %v", 0, pages) } @@ -131,37 +134,36 @@ func TestSoftDeleteZeroValue(t *testing.T) { t.Errorf("book's deleted at should not be zero, DeletedAt: %v", book.DeletedAt) } - if DB.First(&Book{}, "name = ?", book.Name).Error == nil { + if DB.First(&SoftDeleteBook{}, "name = ?", book.Name).Error == nil { t.Errorf("Can't find a soft deleted record") } count = 0 - if DB.Model(&Book{}).Where("name = ?", book.Name).Count(&count).Error != nil || count != 0 { + if DB.Model(&SoftDeleteBook{}).Where("name = ?", book.Name).Count(&count).Error != nil || count != 0 { t.Errorf("Count soft deleted record, expects: %v, got: %v", 0, count) } pages = 0 - if err := DB.Model(&Book{}).Select("pages").Where("name = ?", book.Name).Scan(&pages).Error; err != nil || pages != 0 { + if err := DB.Model(&SoftDeleteBook{}).Select("pages").Where("name = ?", book.Name).Scan(&pages).Error; err != nil || pages != 0 { t.Fatalf("Age soft deleted record, expects: %v, got: %v, err %v", 0, pages, err) } - if err := DB.Unscoped().First(&Book{}, "name = ?", book.Name).Error; err != nil { + if err := DB.Unscoped().First(&SoftDeleteBook{}, "name = ?", book.Name).Error; err != nil { t.Errorf("Should find soft deleted record with Unscoped, but got err %s", err) } count = 0 - if DB.Unscoped().Model(&Book{}).Where("name = ?", book.Name).Count(&count).Error != nil || count != 1 { + if DB.Unscoped().Model(&SoftDeleteBook{}).Where("name = ?", book.Name).Count(&count).Error != nil || count != 1 { t.Errorf("Count soft deleted record, expects: %v, count: %v", 1, count) } pages = 0 - if DB.Unscoped().Model(&Book{}).Select("pages").Where("name = ?", book.Name).Scan(&pages).Error != nil || pages != book.Pages { + if DB.Unscoped().Model(&SoftDeleteBook{}).Select("pages").Where("name = ?", book.Name).Scan(&pages).Error != nil || pages != book.Pages { t.Errorf("Age soft deleted record, expects: %v, got: %v", 0, pages) } DB.Unscoped().Delete(&book) - if err := DB.Unscoped().First(&Book{}, "name = ?", book.Name).Error; !errors.Is(err, gorm.ErrRecordNotFound) { + if err := DB.Unscoped().First(&SoftDeleteBook{}, "name = ?", book.Name).Error; !errors.Is(err, gorm.ErrRecordNotFound) { t.Errorf("Can't find permanently deleted record") } - }