From 705f9d8a58dc0d664cc6e67dca31baced860a9b6 Mon Sep 17 00:00:00 2001 From: Pascal Roehling Date: Thu, 14 Nov 2024 16:23:28 +0100 Subject: [PATCH] Add E2E test for modify --- e2e/draw.spec.ts | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/e2e/draw.spec.ts b/e2e/draw.spec.ts index 75929407e..561f46ed0 100644 --- a/e2e/draw.spec.ts +++ b/e2e/draw.spec.ts @@ -40,3 +40,41 @@ test('clicks to the map produce a fetchable pin coordinate', async ({ expect(drawing.features.length).toBe(1) expect(drawing.features[0].geometry.coordinates[0].length).toBe(7) }) + +test('two features drawn at the same coordinate can be modified separately', async ({ + page, +}) => { + await openSnowbox(page) + + const canvas = await page.locator('canvas') + const boundingBox = await canvas.boundingBox() + if (boundingBox === null) throw new Error('Canvas not found.') + const { width, height } = boundingBox + let { x, y } = boundingBox + + x += width / 2 + y += height / 2 + + await page.getByLabel('Draw tools').click() + await page.getByText('Draw and write').click() + await page.getByText('Point').click() + + await page.mouse.click(x, y) + await page.mouse.click(x, y) + + await page.getByText('Edit').click() + + await page.mouse.move(x, y) + await page.mouse.down() + await page.mouse.move(x + 40, y + 40) + await page.mouse.up() + + const drawing = JSON.parse(await page.locator(drawTargetId).innerText()) + + expect(drawing.type).toBe('FeatureCollection') + expect(drawing.features.length).toBe(2) + expect(drawing.features[0].geometry.coordinates[0]).toBe(x) + expect(drawing.features[0].geometry.coordinates[1]).toBe(y) + expect(drawing.features[1].geometry.coordinates[0]).toBe(x + 40) + expect(drawing.features[1].geometry.coordinates[1]).toBe(y + 40) +})