Add test for loft and offset plane deletion via selection
This commit is contained in:
		@ -854,6 +854,74 @@ loftPointAndClickCases.forEach(({ shouldPreselect }) => {
 | 
			
		||||
  })
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
// TODO: merge with above test. Right now we're not able to delete a loft
 | 
			
		||||
// right after creation via selection for some reason, so we go with a new instance
 | 
			
		||||
test('Loft and offset plane deletion via selection', async ({
 | 
			
		||||
  context,
 | 
			
		||||
  page,
 | 
			
		||||
  homePage,
 | 
			
		||||
  scene,
 | 
			
		||||
}) => {
 | 
			
		||||
  const initialCode = `sketch001 = startSketchOn('XZ')
 | 
			
		||||
  |> circle({ center = [0, 0], radius = 30 }, %)
 | 
			
		||||
  plane001 = offsetPlane('XZ', 50)
 | 
			
		||||
  sketch002 = startSketchOn(plane001)
 | 
			
		||||
  |> circle({ center = [0, 0], radius = 20 }, %)
 | 
			
		||||
loft001 = loft([sketch001, sketch002])
 | 
			
		||||
`
 | 
			
		||||
  await context.addInitScript((initialCode) => {
 | 
			
		||||
    localStorage.setItem('persistCode', initialCode)
 | 
			
		||||
  }, initialCode)
 | 
			
		||||
  await page.setBodyDimensions({ width: 1000, height: 500 })
 | 
			
		||||
  await homePage.goToModelingScene()
 | 
			
		||||
 | 
			
		||||
  // One dumb hardcoded screen pixel value
 | 
			
		||||
  const testPoint = { x: 575, y: 200 }
 | 
			
		||||
  const [clickOnSketch1] = scene.makeMouseHelpers(testPoint.x, testPoint.y)
 | 
			
		||||
  const [clickOnSketch2] = scene.makeMouseHelpers(
 | 
			
		||||
    testPoint.x,
 | 
			
		||||
    testPoint.y + 80
 | 
			
		||||
  )
 | 
			
		||||
 | 
			
		||||
  await test.step(`Delete loft`, async () => {
 | 
			
		||||
    // Check for loft
 | 
			
		||||
    await scene.expectPixelColor([89, 89, 89], testPoint, 15)
 | 
			
		||||
    await clickOnSketch1()
 | 
			
		||||
    await page.waitForTimeout(100)
 | 
			
		||||
    await expect(page.locator('.cm-activeLine')).toHaveText(`
 | 
			
		||||
      |> circle({ center = [0, 0], radius = 30 }, %)
 | 
			
		||||
    `)
 | 
			
		||||
    await page.keyboard.press('Backspace')
 | 
			
		||||
    await page.waitForTimeout(100)
 | 
			
		||||
    // Check for sketch 1
 | 
			
		||||
    await scene.expectPixelColor([254, 254, 254], testPoint, 15)
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  await test.step('Delete sketch002', async () => {
 | 
			
		||||
    await clickOnSketch2()
 | 
			
		||||
    await page.waitForTimeout(100)
 | 
			
		||||
    await expect(page.locator('.cm-activeLine')).toHaveText(`
 | 
			
		||||
      |> circle({ center = [0, 0], radius = 20 }, %)
 | 
			
		||||
    `)
 | 
			
		||||
    await page.keyboard.press('Backspace')
 | 
			
		||||
    await page.waitForTimeout(100)
 | 
			
		||||
    // Check for plane001
 | 
			
		||||
    await scene.expectPixelColor([228, 228, 228], testPoint, 15)
 | 
			
		||||
  })
 | 
			
		||||
 | 
			
		||||
  await test.step('Delete plane001', async () => {
 | 
			
		||||
    await clickOnSketch2()
 | 
			
		||||
    await page.waitForTimeout(100)
 | 
			
		||||
    await expect(page.locator('.cm-activeLine')).toHaveText(`
 | 
			
		||||
      plane001 = offsetPlane('XZ', 50)
 | 
			
		||||
    `)
 | 
			
		||||
    await page.keyboard.press('Backspace')
 | 
			
		||||
    await page.waitForTimeout(100)
 | 
			
		||||
    // Check for sketch 1
 | 
			
		||||
    await scene.expectPixelColor([254, 254, 254], testPoint, 15)
 | 
			
		||||
  })
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
const shellPointAndClickCapCases = [
 | 
			
		||||
  { shouldPreselect: true },
 | 
			
		||||
  { shouldPreselect: false },
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user