test(playwright): fix edge selection and auto pan tests

This commit is contained in:
moklick
2024-03-06 14:44:58 +01:00
parent 64e240e7a5
commit 9ad0aaf277
5 changed files with 229 additions and 213 deletions
@@ -3,6 +3,7 @@ import { MarkerType } from '@xyflow/react';
export default {
flowProps: {
fitView: true,
multiSelectionKeyCode: 's',
nodes: [
{
id: '1',
+213 -198
View File
File diff suppressed because it is too large Load Diff
+6 -7
View File
@@ -30,11 +30,12 @@ test.describe('Edges', () => {
await edge1.click();
await expect(edge1).toHaveClass(/selected/);
// FIXME: I cannot get this to work
await page.keyboard.down('MetaLeft');
// we are using "s" here because Meta doesn't work for some reason
await page.keyboard.down('s');
await edge2.click();
await expect(edge2).toHaveClass(/selected/);
await page.keyboard.up('s');
await expect(edge2).toHaveClass(/selected/);
await expect(edge1).toHaveClass(/selected/);
});
});
@@ -88,8 +89,6 @@ test.describe('Edges', () => {
await expect(edge).toBeAttached();
const edgeBox = await edge.boundingBox();
await edge.click();
await expect(edge).toHaveClass(/selected/);
@@ -154,8 +153,8 @@ test.describe('Edges', () => {
await expect(edge).toBeAttached();
await expect(edge).toHaveAttribute('marker-start', 'url(#1__type=arrowclosed)');
await expect(edge).toHaveAttribute('marker-end', 'url(#1__type=arrow)');
await expect(edge).toHaveAttribute('marker-start', "url('#1__type=arrowclosed')");
await expect(edge).toHaveAttribute('marker-end', "url('#1__type=arrow')");
});
});
});
+7 -6
View File
@@ -52,7 +52,7 @@ test.describe('Pane default', () => {
});
test.describe('minZoom & maxZoom', () => {
test('minZoom works as intended', async ({ page }) => {
test('minZoom', async ({ page }) => {
const pane = page.locator(`.${FRAMEWORK}-flow__pane`);
const viewport = page.locator(`.${FRAMEWORK}-flow__viewport`);
@@ -67,7 +67,7 @@ test.describe('Pane default', () => {
expect(transformsMinZoom.scale).toBe(0.25);
});
test('maxZoom works as intended', async ({ page }) => {
test('maxZoom', async ({ page }) => {
const pane = page.locator(`.${FRAMEWORK}-flow__pane`);
const viewport = page.locator(`.${FRAMEWORK}-flow__viewport`);
@@ -84,7 +84,7 @@ test.describe('Pane default', () => {
});
test.describe('autoPan', () => {
test('autoPanOnNodeDrag works as intended', async ({ page }) => {
test('autoPanOnNodeDrag', async ({ page }) => {
const viewport = page.locator(`.${FRAMEWORK}-flow__viewport`);
const node = page.locator('[data-id="1"]');
@@ -96,7 +96,8 @@ test.describe('Pane default', () => {
await page.mouse.down();
await page.mouse.move(0, 0);
await page.waitForTimeout(500);
await page.mouse.move(100, 100);
await page.mouse.move(1000, 100, { steps: 100 });
await page.mouse.up();
const transformAfter = await getTransform(viewport);
@@ -104,7 +105,7 @@ test.describe('Pane default', () => {
await expect(transformAfter.translateY).toBeGreaterThan(transformBefore.translateY);
});
test('autoPanOnConnect works as intended', async ({ page }) => {
test('autoPanOnConnect', async ({ page }) => {
const viewport = page.locator(`.${FRAMEWORK}-flow__viewport`);
const handle = page.locator(`[data-id="1"] .${FRAMEWORK}-flow__handle`);
@@ -116,7 +117,7 @@ test.describe('Pane default', () => {
await page.mouse.down();
await page.mouse.move(0, 0);
await page.waitForTimeout(500);
await page.mouse.move(100, 100);
await page.mouse.move(100, 100, { steps: 100 });
const transformAfter = await getTransform(viewport);
+2 -2
View File
@@ -13,11 +13,11 @@
"author": "",
"license": "ISC",
"devDependencies": {
"@playwright/test": "^1.40.1",
"@playwright/test": "^1.42.1",
"@types/node": "^18.7.16"
},
"dependencies": {
"@playwright/experimental-ct-react": "^1.40.1",
"@playwright/experimental-ct-react": "^1.42.1",
"@types/react": "^18.2.31",
"@types/react-dom": "^18.2.14",
"react": "^18.2.0",