adds PropagateUnscoped test
This commit is contained in:
		
							parent
							
								
									24a04bc286
								
							
						
					
					
						commit
						aca4b77fcd
					
				| @ -566,3 +566,41 @@ func TestUpdateCallbacks(t *testing.T) { | ||||
| 		t.Fatalf("before update should not be called") | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| type Product6 struct { | ||||
| 	gorm.Model | ||||
| 	Name string | ||||
| 	Item *ProductItem2 | ||||
| } | ||||
| 
 | ||||
| type ProductItem2 struct { | ||||
| 	gorm.Model | ||||
| 	Product6ID uint | ||||
| } | ||||
| 
 | ||||
| func (p *Product6) BeforeDelete(tx *gorm.DB) error { | ||||
| 	if err := tx.Delete(&p.Item).Error; err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
| 
 | ||||
| func TestPropagateUnscoped(t *testing.T) { | ||||
| 	DB.Migrator().DropTable(&Product6{}, &ProductItem2{}) | ||||
| 	DB.AutoMigrate(&Product6{}, &ProductItem2{}) | ||||
| 
 | ||||
| 	p := Product6{ | ||||
| 		Name: "unique_code", | ||||
| 		Item: &ProductItem2{}, | ||||
| 	} | ||||
| 	DB.Model(&Product6{}).Create(&p) | ||||
| 
 | ||||
| 	DB.PropagateUnscoped = true | ||||
| 	defer func() { | ||||
| 		DB.PropagateUnscoped = false | ||||
| 	}() | ||||
| 
 | ||||
| 	if err := DB.Unscoped().Delete(&p).Error; err != nil { | ||||
| 		t.Fatalf("unscoped did not propagate") | ||||
| 	} | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Sérgio Almeida
						Sérgio Almeida