Files
IfcOpenShell/src/bonsai/test/bim/feature/boolean.feature
T
Petru Conduraru 6f90badda8 Fix ci-bonsai-daily: renumber stale STEP ids in BDD feature fixtures
Several BDD scenarios hardcode absolute representation-item object names
whose trailing number is the IFC STEP line id
(f"Item/{item.is_a()}/{item.id()}"). Those ids drift when file-creation
order changes; a recent shift moved all of them by a uniform -4, so the
scenarios failed with "Item/.../NN does not exist".

The failing step (the_object_name_exists in test_feature.py) dumps the
full bpy.data.objects listing on failure, so the correct current ids are
recoverable directly from the CI log (run 29208793599, tested commit
36e21e882f, an ancestor of HEAD with only a .gitignore commit between).
Renumber to match:
  IfcExtrudedAreaSolid/77->73, IfcPolygonalFaceSet/76->72,
  IfcVertexPoint/69->65, IfcEdge/72->68, IfcFace/74->70.

Verified against the CI failure dump (a local build produces different
ids, so this is validated by CI's own object listing rather than a local
run). boolean.feature also hardcodes IfcHalfSpaceSolid/90 and panel text
[91] downstream of the failing assertion, which CI never reached and so
never dumped; left as-is to avoid guessing - they will print a fresh dump
next run for a follow-up if still stale.

This change was made with the assistance of an AI tool.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-13 16:49:33 +10:00

50 lines
1.8 KiB
Gherkin

@boolean
Feature: Boolean
Manage boolean hierarchies and boolean results
Scenario: Ensure added booleans are marked as manual
Given an empty IFC project
And I open the "Add" menu
And I trigger "Add Element"
And I set the "Definition" property to "IfcElement"
And I set the "Class" property to "IfcFurniture"
And I set the "Representation" property to "Custom Extruded Solid"
And I click "OK"
And the object "IfcFurniture/Unnamed" exists
And I toggle edit mode
And the object "Item/IfcExtrudedAreaSolid/73" exists
And I open the "Add Item" menu
When I click "Half Space Solid"
And the object "Item/IfcHalfSpaceSolid/90" exists
And I deselect all objects
And I toggle edit mode
And I select the object "IfcFurniture/Unnamed"
And I look at the "Property Sets" panel
Then I see "BBIM_Boolean"
And I see "[91]"
Scenario: Ensure removed booleans are unmarked as manual
Given an empty IFC project
And I open the "Add" menu
And I trigger "Add Element"
And I set the "Definition" property to "IfcElement"
And I set the "Class" property to "IfcFurniture"
And I set the "Representation" property to "Custom Extruded Solid"
And I click "OK"
And the object "IfcFurniture/Unnamed" exists
And I toggle edit mode
And the object "Item/IfcExtrudedAreaSolid/73" exists
And I open the "Add Item" menu
And I click "Half Space Solid"
And I deselect all objects
And I toggle edit mode
And I select the object "IfcFurniture/Unnamed"
And I toggle edit mode
And I select the object "Item/IfcHalfSpaceSolid/90"
When I delete the selected objects
And I toggle edit mode
And I select the object "IfcFurniture/Unnamed"
And I look at the "Property Sets" panel
Then I don't see "BBIM_Boolean"
And I don't see "[91]"