Update soft_delete_test.go
This commit is contained in:
parent
80e7785499
commit
e45a637ce1
@ -100,25 +100,28 @@ func TestDeletedAtOneOr(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
type Book struct {
|
||||
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")
|
||||
}
|
||||
|
||||
func TestSoftDeleteZeroValue(t *testing.T) {
|
||||
|
||||
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")
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user