mirror of
https://github.com/PeWu/topola-viewer.git
synced 2026-07-17 17:21:48 +00:00
Add test for file upload
This commit is contained in:
@@ -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.
|
||||
* **[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.
|
||||
* **[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.
|
||||
|
||||
### 2. Visual Regression / Screenshot Specs
|
||||
|
||||
20
tests/upload.spec.ts
Normal file
20
tests/upload.spec.ts
Normal 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');
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user