Add test for file upload

This commit is contained in:
Przemek Więch
2026-06-01 00:01:11 +02:00
parent 024b25ebe3
commit 40872deb2a
2 changed files with 21 additions and 0 deletions

View File

@@ -20,6 +20,7 @@ Verify functional correctness, route parameters, drawer side-panels, dynamic aut
* **[embedded.spec.ts](embedded.spec.ts)**: Tests embedded iframe operations using virtual server postMessage listeners to execute proper parent-child synchronizations. * **[embedded.spec.ts](embedded.spec.ts)**: Tests embedded iframe operations using virtual server postMessage listeners to execute proper parent-child synchronizations.
* **[intro.spec.ts](intro.spec.ts)**: Checks base landing layouts, instructions panels, menu existence, and responsive header navigation buttons. * **[intro.spec.ts](intro.spec.ts)**: Checks base landing layouts, instructions panels, menu existence, and responsive header navigation buttons.
* **[search.spec.ts](search.spec.ts)**: Targets autocompletion components using robust search locators to verify input debouncing and focus updates. * **[search.spec.ts](search.spec.ts)**: Targets autocompletion components using robust search locators to verify input debouncing and focus updates.
* **[upload.spec.ts](upload.spec.ts)**: Validates uploading raw GEDCOM files from the local filesystem, asserting navigation transitions, state parsing, and virtual tree renderings.
* **[webmcp.spec.ts](webmcp.spec.ts)**: Evaluates out-of-process browser calls from Model Context Protocol tool registrations and action assertions. * **[webmcp.spec.ts](webmcp.spec.ts)**: Evaluates out-of-process browser calls from Model Context Protocol tool registrations and action assertions.
### 2. Visual Regression / Screenshot Specs ### 2. Visual Regression / Screenshot Specs

20
tests/upload.spec.ts Normal file
View File

@@ -0,0 +1,20 @@
import {expect, test} from '@playwright/test';
import {setupHermeticEnvironment} from './helpers';
test.describe('File upload', () => {
test.beforeEach(async ({page, context}) => {
await setupHermeticEnvironment(context);
await page.goto('/');
});
test('uploads a GEDCOM file and displays the tree', async ({page}) => {
// Set the test GEDCOM file to the hidden file input.
await page.setInputFiles('#fileInput', 'src/datasource/testdata/test.ged');
// Assert that we navigated to the view page.
await expect(page).toHaveURL(/.*\/view.*/);
// Verify that the chart content loads properly (e.g. contains the name 'Bonifacy').
await expect(page.locator('#content')).toContainText('Bonifacy');
});
});