Fix bug where deleting the drawing object could lead to orphaned relationships

This commit is contained in:
Dion Moult
2023-03-19 18:15:09 +11:00
parent 3da718a6d1
commit 2816d7f522
5 changed files with 56 additions and 7 deletions
@@ -47,3 +47,29 @@ Scenario: Create drawing after deleting a duplicated object
And I press "object.delete(use_global=False)"
When I press "bim.create_drawing"
Then nothing happens
Scenario: Remove drawing
Given an empty IFC project
And I add a cube
And the object "Cube" is selected
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
And I press "bim.assign_class"
And the variable "wall1" is "IfcStore.get_file().by_type('IfcWall')[-1].id()"
And I press "bim.add_drawing"
And the variable "drawing" is "IfcStore.get_file().by_type('IfcAnnotation')[0].id()"
And the collection "IfcGroup/PLAN_VIEW" exists
When I press "bim.remove_drawing(drawing={drawing})"
Then the collection "IfcGroup/PLAN_VIEW" does not exist
Scenario: Remove drawing - via object deletion
Given an empty IFC project
And I add a cube
And the object "Cube" is selected
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
And I press "bim.assign_class"
And the variable "wall1" is "IfcStore.get_file().by_type('IfcWall')[-1].id()"
And I press "bim.add_drawing"
And the variable "drawing" is "IfcStore.get_file().by_type('IfcAnnotation')[0].id()"
And the object "IfcAnnotation/PLAN_VIEW" is selected
When I press "bim.override_object_delete"
Then the collection "IfcGroup/PLAN_VIEW" does not exist
@@ -262,7 +262,7 @@ Scenario: Override delete - without active IFC data
Given an empty Blender session
And I add a cube
And the object "Cube" is selected
When I press "object.delete"
When I press "bim.override_object_delete"
Then the object "Cube" does not exist
Scenario: Override delete - with active IFC data
@@ -272,7 +272,7 @@ Scenario: Override delete - with active IFC data
And I set "scene.BIMRootProperties.ifc_class" to "IfcWall"
And I press "bim.assign_class"
And the object "IfcWall/Cube" is selected
When I press "object.delete"
When I press "bim.override_object_delete"
Then the object "IfcWall/Cube" does not exist
Scenario: Override outliner delete