diff --git a/e2e/playwright/boolean.spec.ts b/e2e/playwright/boolean.spec.ts index 62bc43393ff..2a1379f95ad 100644 --- a/e2e/playwright/boolean.spec.ts +++ b/e2e/playwright/boolean.spec.ts @@ -111,9 +111,25 @@ test.describe('Point and click for boolean workflows', () => { } await cmdBar.submit() - + await scene.settled(cmdBar) await editor.expectEditor.toContain(operation.code) }) + + await test.step(`Delete ${operationName} operation via feature tree selection`, async () => { + await toolbar.openPane('feature-tree') + const op = await toolbar.getFeatureTreeOperation(operationName, 0) + await op.click({ button: 'right' }) + await page.getByTestId('context-menu-delete').click() + await scene.settled(cmdBar) + await toolbar.closePane('feature-tree') + + // Expect changes in ft and code + await toolbar.openPane('code') + await editor.expectEditor.not.toContain(operation.code) + await expect( + await toolbar.getFeatureTreeOperation(operationName, 0) + ).not.toBeVisible() + }) }) } }) diff --git a/src/lang/modifyAst/deleteFromSelection.ts b/src/lang/modifyAst/deleteFromSelection.ts index 151551407b2..721465beb3d 100644 --- a/src/lang/modifyAst/deleteFromSelection.ts +++ b/src/lang/modifyAst/deleteFromSelection.ts @@ -161,6 +161,7 @@ export async function deleteFromSelection( varDec.node.init.type === 'PipeExpression') || selection.artifact?.type === 'sweep' || selection.artifact?.type === 'plane' || + selection.artifact?.type === 'compositeSolid' || selection.artifact?.type === 'helix' || !selection.artifact // aka expected to be a shell at this point ) { @@ -170,6 +171,7 @@ export async function deleteFromSelection( selection.artifact && selection.artifact.type !== 'sweep' && selection.artifact.type !== 'plane' && + selection.artifact.type !== 'compositeSolid' && selection.artifact.type !== 'helix' ) { const varDecName = varDec.node.id.name