- waitForURL: replace page.waitForURL (requires load event) with
expect(page).toHaveURL (polls pushState SPA navigation)
- Title editor: use .page-title [contenteditable] + keyboard.type,
not input.fill (Docmost title is Tiptap, not a text input)
- Body editor: scope slash command interactions to .editor-container .ProseMirror
to avoid hitting the title editor
- freshPage debounce: add 800ms wait after Tab so title slug navigate fires
before the slash test starts (eliminates false framenavigated crash signal)
- Sub-page: hover parent node link by slug, click CreateNode with force:true
to bypass CSS visibility:hidden on .actions div
- Template picker: target template-picker-search input (unique to open modal)
to resolve two-instance testid ambiguity (sidebar + page.tsx)
- Sync block: use .node-syncBlock class (Tiptap ReactNodeViewRenderer pattern)
instead of [data-type="syncBlock"] which is not set
- Backlinks: fix testid to backlinks-panel, widen to accept any state since
indexing is async; fix wikilink nav to use sidebar link not bracketed text
- Space graph: open SpaceMenu dropdown first, then click graph menuitem
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>