Skip to content

fix: improve data sanitization #849

fix: improve data sanitization

fix: improve data sanitization #849

Triggered via push February 27, 2026 06:20
Status Failure
Total duration 6m 33s
Artifacts 1

test-e2e.yml

on: push
Playwright E2E tests
6m 29s
Playwright E2E tests
Fit to window
Zoom out
Zoom in

Annotations

10 errors and 1 notice
[chromium] › onboarding.spec.ts:32:9 › Onboarding › Check the setup wizard: tests/e2e/specs/onboarding.spec.ts#L57
4) [chromium] › onboarding.spec.ts:32:9 › Onboarding › Check the setup wizard ──────────────────── Error: expect.toContainText: Error: strict mode violation: getByRole('heading') resolved to 12 elements: 1) <h2 class="h2 pb-8">↵⇆⇆⇆⇆⇆⇆⇆⇆⇆⇆Select a chart from the options availa…</h2> aka getByRole('heading', { name: 'Select a chart from the' }) 2) <h3 class="h3">Pie/Donut chart</h3> aka getByRole('heading', { name: 'Pie/Donut chart' }) 3) <h3 class="h3">Bar chart</h3> aka getByRole('heading', { name: 'Bar chart' }) 4) <h3 class="h3">Line chart</h3> aka getByRole('heading', { name: 'Line chart' }) 5) <h3 class="h3">Table</h3> aka getByRole('heading', { name: 'Table' }) 6) <h3>Geo chart</h3> aka getByRole('heading', { name: 'Geo chart' }) 7) <h3 class="h3">Discover the power of PRO!</h3> aka getByRole('heading', { name: 'Discover the power of PRO!' }) 8) <h2 class="h2 pb-8">You're almost done!</h2> aka getByRole('heading', { name: 'You\'re almost done!' }) 9) <h4 class="h4 pb-4">Importing demo data</h4> aka getByRole('heading', { name: 'Importing demo data' }) 10) <h2 class="h2 pb-8">Insert a chart into the draft page</h2> aka getByRole('heading', { name: 'Insert a chart into the draft' }) ... Call log: - expect.toContainText with timeout 5000ms - waiting for getByRole('heading') 55 | 56 | // Step 3 > 57 | await expect(page.getByRole('heading')).toContainText('Insert a chart into the draft page'); | ^ 58 | await expect(page.getByRole('button', { name: 'Create a draft page We will' })).toBeVisible(); 59 | await page.getByRole('button', { name: 'Create a draft page We will' }).click(); 60 | await expect(page.getByRole('heading', { name: 'Chart preview' })).toBeVisible(); at /home/runner/work/visualizer/visualizer/tests/e2e/specs/onboarding.spec.ts:57:49
[chromium] › gutenberg-editor.spec.js:115:5 › Charts with Gutenberg Editor › check block Edit new button: tests/e2e/specs/gutenberg-editor.spec.js#L132
3) [chromium] › gutenberg-editor.spec.js:115:5 › Charts with Gutenberg Editor › check block Edit new button Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for getByRole('button', { name: ' Close dialog' }) 130 | //await page.goto('http://localhost:8889/wp-admin/post.php?post=29&action=edit'); 131 | await expect(page.getByLabel('Visualizer', { exact: true }).locator('h1')).toContainText('Visualizer'); > 132 | await page.getByRole('button', { name: ' Close dialog' }).click(); | ^ 133 | } ); 134 | 135 | test( 'check widgets', async ( { admin, editor, page } ) => { at /home/runner/work/visualizer/visualizer/tests/e2e/specs/gutenberg-editor.spec.js:132:68
[chromium] › gutenberg-editor.spec.js:115:5 › Charts with Gutenberg Editor › check block Edit new button: tests/e2e/specs/gutenberg-editor.spec.js#L132
3) [chromium] › gutenberg-editor.spec.js:115:5 › Charts with Gutenberg Editor › check block Edit new button Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for getByRole('button', { name: ' Close dialog' }) 130 | //await page.goto('http://localhost:8889/wp-admin/post.php?post=29&action=edit'); 131 | await expect(page.getByLabel('Visualizer', { exact: true }).locator('h1')).toContainText('Visualizer'); > 132 | await page.getByRole('button', { name: ' Close dialog' }).click(); | ^ 133 | } ); 134 | 135 | test( 'check widgets', async ( { admin, editor, page } ) => { at /home/runner/work/visualizer/visualizer/tests/e2e/specs/gutenberg-editor.spec.js:132:68
[chromium] › gutenberg-editor.spec.js:115:5 › Charts with Gutenberg Editor › check block Edit new button: tests/e2e/specs/gutenberg-editor.spec.js#L132
3) [chromium] › gutenberg-editor.spec.js:115:5 › Charts with Gutenberg Editor › check block Edit new button TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for getByRole('button', { name: ' Close dialog' }) 130 | //await page.goto('http://localhost:8889/wp-admin/post.php?post=29&action=edit'); 131 | await expect(page.getByLabel('Visualizer', { exact: true }).locator('h1')).toContainText('Visualizer'); > 132 | await page.getByRole('button', { name: ' Close dialog' }).click(); | ^ 133 | } ); 134 | 135 | test( 'check widgets', async ( { admin, editor, page } ) => { at /home/runner/work/visualizer/visualizer/tests/e2e/specs/gutenberg-editor.spec.js:132:68
[chromium] › gutenberg-editor.spec.js:54:5 › Charts with Gutenberg Editor › insert an existing chart: tests/e2e/specs/gutenberg-editor.spec.js#L66
2) [chromium] › gutenberg-editor.spec.js:54:5 › Charts with Gutenberg Editor › insert an existing chart Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Done' }) 64 | expect( page.getByLabel('Block: Visualizer Chart').getByText('Visualizer') ).not.toBeNull(); 65 | await page.getByRole('button', { name: 'Save', exact: true }).click(); > 66 | await page.getByRole('button', { name: 'Done' }).click(); | ^ 67 | 68 | // Check if the Chart did not crash the editor. 69 | expect( page.locator('.wp-block-visualizer-chart').count() ).resolves.toBe( 1 ); at /home/runner/work/visualizer/visualizer/tests/e2e/specs/gutenberg-editor.spec.js:66:58
[chromium] › gutenberg-editor.spec.js:54:5 › Charts with Gutenberg Editor › insert an existing chart: tests/e2e/specs/gutenberg-editor.spec.js#L66
2) [chromium] › gutenberg-editor.spec.js:54:5 › Charts with Gutenberg Editor › insert an existing chart Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Done' }) 64 | expect( page.getByLabel('Block: Visualizer Chart').getByText('Visualizer') ).not.toBeNull(); 65 | await page.getByRole('button', { name: 'Save', exact: true }).click(); > 66 | await page.getByRole('button', { name: 'Done' }).click(); | ^ 67 | 68 | // Check if the Chart did not crash the editor. 69 | expect( page.locator('.wp-block-visualizer-chart').count() ).resolves.toBe( 1 ); at /home/runner/work/visualizer/visualizer/tests/e2e/specs/gutenberg-editor.spec.js:66:58
[chromium] › gutenberg-editor.spec.js:54:5 › Charts with Gutenberg Editor › insert an existing chart: tests/e2e/specs/gutenberg-editor.spec.js#L66
2) [chromium] › gutenberg-editor.spec.js:54:5 › Charts with Gutenberg Editor › insert an existing chart TimeoutError: locator.click: Timeout 5000ms exceeded. Call log: - waiting for getByRole('button', { name: 'Done' }) 64 | expect( page.getByLabel('Block: Visualizer Chart').getByText('Visualizer') ).not.toBeNull(); 65 | await page.getByRole('button', { name: 'Save', exact: true }).click(); > 66 | await page.getByRole('button', { name: 'Done' }).click(); | ^ 67 | 68 | // Check if the Chart did not crash the editor. 69 | expect( page.locator('.wp-block-visualizer-chart').count() ).resolves.toBe( 1 ); at /home/runner/work/visualizer/visualizer/tests/e2e/specs/gutenberg-editor.spec.js:66:58
[chromium] › gutenberg-editor.spec.js:31:5 › Charts with Gutenberg Editor › new chart creation: tests/e2e/specs/gutenberg-editor.spec.js#L46
1) [chromium] › gutenberg-editor.spec.js:31:5 › Charts with Gutenberg Editor › new chart creation Retry #2 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: getByRole('button', { name: 'Done' }) Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 5000ms - waiting for getByRole('button', { name: 'Done' }) 44 | await expect( page.getByRole('button', { name: 'Save', exact: true }) ).toBeVisible(); 45 | await page.getByRole('button', { name: 'Save', exact: true }).click(); > 46 | await expect( page.getByRole('button', { name: 'Done' }) ).toBeVisible(); | ^ 47 | await page.getByRole('button', { name: 'Done' }).click(); 48 | 49 | await expect( page.locator('.wp-block-visualizer-chart').count() ).resolves.toBe( 1 ); at /home/runner/work/visualizer/visualizer/tests/e2e/specs/gutenberg-editor.spec.js:46:68
[chromium] › gutenberg-editor.spec.js:31:5 › Charts with Gutenberg Editor › new chart creation: tests/e2e/specs/gutenberg-editor.spec.js#L46
1) [chromium] › gutenberg-editor.spec.js:31:5 › Charts with Gutenberg Editor › new chart creation Retry #1 ─────────────────────────────────────────────────────────────────────────────────────── Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: getByRole('button', { name: 'Done' }) Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 5000ms - waiting for getByRole('button', { name: 'Done' }) 44 | await expect( page.getByRole('button', { name: 'Save', exact: true }) ).toBeVisible(); 45 | await page.getByRole('button', { name: 'Save', exact: true }).click(); > 46 | await expect( page.getByRole('button', { name: 'Done' }) ).toBeVisible(); | ^ 47 | await page.getByRole('button', { name: 'Done' }).click(); 48 | 49 | await expect( page.locator('.wp-block-visualizer-chart').count() ).resolves.toBe( 1 ); at /home/runner/work/visualizer/visualizer/tests/e2e/specs/gutenberg-editor.spec.js:46:68
[chromium] › gutenberg-editor.spec.js:31:5 › Charts with Gutenberg Editor › new chart creation: tests/e2e/specs/gutenberg-editor.spec.js#L46
1) [chromium] › gutenberg-editor.spec.js:31:5 › Charts with Gutenberg Editor › new chart creation Error: Timed out 5000ms waiting for expect(locator).toBeVisible() Locator: getByRole('button', { name: 'Done' }) Expected: visible Received: hidden Call log: - expect.toBeVisible with timeout 5000ms - waiting for getByRole('button', { name: 'Done' }) 44 | await expect( page.getByRole('button', { name: 'Save', exact: true }) ).toBeVisible(); 45 | await page.getByRole('button', { name: 'Save', exact: true }).click(); > 46 | await expect( page.getByRole('button', { name: 'Done' }) ).toBeVisible(); | ^ 47 | await page.getByRole('button', { name: 'Done' }).click(); 48 | 49 | await expect( page.locator('.wp-block-visualizer-chart').count() ).resolves.toBe( 1 ); at /home/runner/work/visualizer/visualizer/tests/e2e/specs/gutenberg-editor.spec.js:46:68
🎭 Playwright Run Summary
4 failed [chromium] › gutenberg-editor.spec.js:31:5 › Charts with Gutenberg Editor › new chart creation ─ [chromium] › gutenberg-editor.spec.js:54:5 › Charts with Gutenberg Editor › insert an existing chart [chromium] › gutenberg-editor.spec.js:115:5 › Charts with Gutenberg Editor › check block Edit new button [chromium] › onboarding.spec.ts:32:9 › Onboarding › Check the setup wizard ───────────────────── 22 passed (3.5m)

Artifacts

Produced during runtime
Name Size Digest
e2e-playwright-results Expired
38.6 MB
sha256:dc8bff015d890c16276aedeff453e53749328fc8a23f0a83a68fd155ffe58f77