| 223 | } |
| 224 | |
| 225 | func TestCallbacksRemove(t *testing.T) { |
| 226 | db, _ := gorm.Open(nil, nil) |
| 227 | createCallback := db.Callback().Create() |
| 228 | |
| 229 | createCallback.Before("*").Register("c1", c1) |
| 230 | createCallback.After("*").Register("c2", c2) |
| 231 | createCallback.Before("c4").Register("c3", c3) |
| 232 | createCallback.After("c2").Register("c4", c4) |
| 233 | |
| 234 | // callbacks: []string{"c1", "c3", "c4", "c2"} |
| 235 | createCallback.Remove("c1") |
| 236 | if ok, msg := assertCallbacks(createCallback, []string{"c3", "c4", "c2"}); !ok { |
| 237 | t.Errorf("callbacks tests failed, got %v", msg) |
| 238 | } |
| 239 | |
| 240 | createCallback.Remove("c4") |
| 241 | if ok, msg := assertCallbacks(createCallback, []string{"c3", "c2"}); !ok { |
| 242 | t.Errorf("callbacks tests failed, got %v", msg) |
| 243 | } |
| 244 | |
| 245 | createCallback.Remove("c2") |
| 246 | if ok, msg := assertCallbacks(createCallback, []string{"c3"}); !ok { |
| 247 | t.Errorf("callbacks tests failed, got %v", msg) |
| 248 | } |
| 249 | |
| 250 | createCallback.Remove("c3") |
| 251 | if ok, msg := assertCallbacks(createCallback, []string{}); !ok { |
| 252 | t.Errorf("callbacks tests failed, got %v", msg) |
| 253 | } |
| 254 | } |