mirror of
https://github.com/zadam/trilium.git
synced 2025-11-28 19:44:24 +01:00
chore(e2e): add Playwright tests for split pane
This commit is contained in:
parent
648ab4d736
commit
1898efa282
72
apps/server-e2e/src/layout/split_pane.spec.ts
Normal file
72
apps/server-e2e/src/layout/split_pane.spec.ts
Normal file
@ -0,0 +1,72 @@
|
||||
import { test, expect } from "@playwright/test";
|
||||
import App from "../support/app";
|
||||
|
||||
const TEXT_NOTE_TITLE = "Text notes";
|
||||
const CODE_NOTE_TITLE = "Code notes";
|
||||
|
||||
test("Open the note in the correct split pane", async ({ page, context }) => {
|
||||
const app = new App(page, context);
|
||||
await app.goto();
|
||||
await app.closeAllTabs();
|
||||
|
||||
// Open the first split.
|
||||
await app.goToNoteInNewTab(TEXT_NOTE_TITLE);
|
||||
const split1 = app.currentNoteSplit;
|
||||
|
||||
// Create a new split.
|
||||
const splitButton = split1.locator("button.bx-dock-right");
|
||||
await expect(splitButton).toBeVisible();
|
||||
await splitButton.click();
|
||||
|
||||
// Search for "Code notes" in the empty area of the second split.
|
||||
const split2 = app.currentNoteSplit.nth(1);;
|
||||
await expect(split2).toBeVisible();
|
||||
const autocomplete = split2.locator(".note-autocomplete");
|
||||
await autocomplete.fill(CODE_NOTE_TITLE);
|
||||
const resultsSelector = split2.locator(".note-detail-empty-results");
|
||||
await expect(resultsSelector).toContainText(CODE_NOTE_TITLE);
|
||||
|
||||
//Focus on the first split.
|
||||
const noteContent = split1.locator(".note-detail-editable-text-editor");
|
||||
await expect(noteContent.locator("p")).toBeVisible();
|
||||
await noteContent.focus();
|
||||
|
||||
// Click the search result in the second split.
|
||||
await resultsSelector.locator(".aa-suggestion", { hasText: CODE_NOTE_TITLE })
|
||||
.nth(1).click();
|
||||
|
||||
await expect(split2).toContainText(CODE_NOTE_TITLE);
|
||||
});
|
||||
|
||||
test("Can directly focus the autocomplete input within the split", async ({ page, context }) => {
|
||||
const app = new App(page, context);
|
||||
await app.goto();
|
||||
await app.closeAllTabs();
|
||||
|
||||
// Open the first split.
|
||||
await app.goToNoteInNewTab(TEXT_NOTE_TITLE);
|
||||
const split1 = app.currentNoteSplit;
|
||||
|
||||
// Create a new split.
|
||||
const splitButton = split1.locator("button.bx-dock-right");
|
||||
await expect(splitButton).toBeVisible();
|
||||
await splitButton.click();
|
||||
|
||||
// Search for "Code notes" in the empty area of the second split.
|
||||
const split2 = app.currentNoteSplit.nth(1);;
|
||||
await expect(split2).toBeVisible();
|
||||
|
||||
// Focus the first split.
|
||||
const noteContent = split1.locator(".note-detail-editable-text-editor");
|
||||
await expect(noteContent.locator("p")).toBeVisible();
|
||||
await noteContent.focus();
|
||||
await noteContent.click();
|
||||
|
||||
// click the autocomplete input box of the second split
|
||||
const autocomplete = split2.locator(".note-autocomplete");
|
||||
await autocomplete.focus();
|
||||
await autocomplete.click();
|
||||
|
||||
await page.waitForTimeout(100);
|
||||
await expect(autocomplete).toBeFocused();
|
||||
});
|
||||
Loading…
x
Reference in New Issue
Block a user