(t *testing.T)
| 59 | } |
| 60 | |
| 61 | func TestDeleteWithTable(t *testing.T) { |
| 62 | type UserWithDelete struct { |
| 63 | gorm.Model |
| 64 | Name string |
| 65 | } |
| 66 | |
| 67 | DB.Table("deleted_users").Migrator().DropTable(UserWithDelete{}) |
| 68 | DB.Table("deleted_users").AutoMigrate(UserWithDelete{}) |
| 69 | |
| 70 | user := UserWithDelete{Name: "delete1"} |
| 71 | DB.Table("deleted_users").Create(&user) |
| 72 | |
| 73 | var result UserWithDelete |
| 74 | if err := DB.Table("deleted_users").First(&result).Error; err != nil { |
| 75 | t.Errorf("failed to find deleted user, got error %v", err) |
| 76 | } |
| 77 | |
| 78 | AssertEqual(t, result, user) |
| 79 | |
| 80 | if err := DB.Table("deleted_users").Delete(&result).Error; err != nil { |
| 81 | t.Errorf("failed to delete user, got error %v", err) |
| 82 | } |
| 83 | |
| 84 | var result2 UserWithDelete |
| 85 | if err := DB.Table("deleted_users").First(&result2, user.ID).Error; !errors.Is(err, gorm.ErrRecordNotFound) { |
| 86 | t.Errorf("should raise record not found error, but got error %v", err) |
| 87 | } |
| 88 | |
| 89 | var result3 UserWithDelete |
| 90 | if err := DB.Table("deleted_users").Unscoped().First(&result3, user.ID).Error; err != nil { |
| 91 | t.Fatalf("failed to find record, got error %v", err) |
| 92 | } |
| 93 | |
| 94 | if err := DB.Table("deleted_users").Unscoped().Delete(&result).Error; err != nil { |
| 95 | t.Errorf("failed to delete user with unscoped, got error %v", err) |
| 96 | } |
| 97 | |
| 98 | var result4 UserWithDelete |
| 99 | if err := DB.Table("deleted_users").Unscoped().First(&result4, user.ID).Error; !errors.Is(err, gorm.ErrRecordNotFound) { |
| 100 | t.Errorf("should raise record not found error, but got error %v", err) |
| 101 | } |
| 102 | } |
| 103 | |
| 104 | func TestInlineCondDelete(t *testing.T) { |
| 105 | user1 := *GetUser("inline_delete_1", Config{}) |
nothing calls this directly
no test coverage detected