#302: the vault import test reaches its page through the sidebar
All checks were successful
CI / Lint, typecheck, test (pull_request) Successful in 6m30s
CI / Build container images (pull_request) Successful in 1m21s
CI / Auth e2e pack (pull_request) Successful in 8m49s
CI / Import/export fidelity gate (pull_request) Successful in 56s
CD / Build and push images (push) Successful in 35s
CD / Smoke tests against Test (push) Successful in 1m25s
CD / Deploy to Test (push) Successful in 14s
CD / Promote to Int (push) Successful in 12s
CI / Lint, typecheck, test (push) Successful in 6m49s
CI / Import/export fidelity gate (push) Successful in 1m0s
CI / Build container images (push) Has been skipped
CI / Auth e2e pack (push) Successful in 8m30s
All checks were successful
CI / Lint, typecheck, test (pull_request) Successful in 6m30s
CI / Build container images (pull_request) Successful in 1m21s
CI / Auth e2e pack (pull_request) Successful in 8m49s
CI / Import/export fidelity gate (pull_request) Successful in 56s
CD / Build and push images (push) Successful in 35s
CD / Smoke tests against Test (push) Successful in 1m25s
CD / Deploy to Test (push) Successful in 14s
CD / Promote to Int (push) Successful in 12s
CI / Lint, typecheck, test (push) Successful in 6m49s
CI / Import/export fidelity gate (push) Successful in 1m0s
CI / Build container images (push) Has been skipped
CI / Auth e2e pack (push) Successful in 8m30s
The Obsidian fixture vault contains a note called "Startseite", and the pond now creates one too — the seeded fixtures use locale `de`. Two consequences, and the second is the one that mattered: - the unscoped title locator matched two sidebar entries; - `/p/<pond>/startseite` no longer belongs to the imported note. The pond's own start page took that slug, so the import landed on a suffixed one and the test was about to assert against the wrong page. Both are fixed by scoping to the mount page and navigating through the sidebar instead of guessing a slug. The test stays meaningful: it then clicks a wikilink inside the page content, which the empty auto-created start page would not have. CI caught this; the local run passed it. Worth remembering that a title-based locator can go green by luck.
This commit is contained in:
parent
30fd1ff53b
commit
f9149eba13
@ -93,11 +93,19 @@ test('a pond admin imports an Obsidian vault through the settings dialog', async
|
||||
await expect(
|
||||
mountItem.locator('.sidebar__tree-children .sidebar__page', { hasText: 'Projekte' }),
|
||||
).toBeVisible();
|
||||
await expect(page.locator('.sidebar__page:text-is("Startseite")')).toBeVisible();
|
||||
// Scoped to the mount: the pond has its own "Startseite" since issue #302,
|
||||
// so an unscoped title match now finds two entries.
|
||||
const importedHome = mountItem
|
||||
.locator('.sidebar__tree-children .sidebar__page')
|
||||
.filter({ hasText: /^Startseite$/ })
|
||||
.first();
|
||||
await expect(importedHome).toBeVisible();
|
||||
|
||||
// A rewritten Obsidian link navigates to the right imported page, and the
|
||||
// display text still reads like the original note name.
|
||||
await page.goto(`/p/${pond.slug}/startseite`);
|
||||
// display text still reads like the original note name. Reached through the
|
||||
// sidebar rather than by slug — `/startseite` belongs to the pond's own
|
||||
// start page, so the imported note landed on a suffixed slug.
|
||||
await importedHome.click();
|
||||
await page.locator('.editor-content a.wikilink', { hasText: 'Projekt A' }).click();
|
||||
await expect(page).toHaveURL(new RegExp(`/p/${pond.slug}/projekt-a$`));
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user