mirror of
https://github.com/TriliumNext/Notes.git
synced 2025-07-27 10:02:59 +08:00
feat(e2e): test going to share root
This commit is contained in:
parent
f96ab6da57
commit
6ea8a31a22
10
e2e/shared_notes.spec.ts
Normal file
10
e2e/shared_notes.spec.ts
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import { test, expect, Page } from "@playwright/test";
|
||||||
|
import App from "./support/app";
|
||||||
|
|
||||||
|
test("Goes to share root", async ({ page, context }) => {
|
||||||
|
const app = new App(page, context);
|
||||||
|
await app.goto({ url: "/share" });
|
||||||
|
const noteTitle = "Shared notes";
|
||||||
|
await expect(page).toHaveTitle(noteTitle);
|
||||||
|
await expect(page.locator("h1")).toHaveText(noteTitle);
|
||||||
|
});
|
@ -2,6 +2,7 @@ import { expect, Locator, Page } from "@playwright/test";
|
|||||||
import type { BrowserContext } from "@playwright/test";
|
import type { BrowserContext } from "@playwright/test";
|
||||||
|
|
||||||
interface GotoOpts {
|
interface GotoOpts {
|
||||||
|
url?: string;
|
||||||
isMobile?: boolean;
|
isMobile?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -28,21 +29,27 @@ export default class App {
|
|||||||
this.sidebar = page.locator("#right-pane");
|
this.sidebar = page.locator("#right-pane");
|
||||||
}
|
}
|
||||||
|
|
||||||
async goto(opts: GotoOpts = {}) {
|
async goto({ url, isMobile }: GotoOpts = {}) {
|
||||||
await this.context.addCookies([
|
await this.context.addCookies([
|
||||||
{
|
{
|
||||||
url: BASE_URL,
|
url: BASE_URL,
|
||||||
name: "trilium-device",
|
name: "trilium-device",
|
||||||
value: opts.isMobile ? "mobile" : "desktop"
|
value: isMobile ? "mobile" : "desktop"
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
await this.page.goto("/", { waitUntil: "networkidle" });
|
if (!url) {
|
||||||
|
url = "/";
|
||||||
|
}
|
||||||
|
|
||||||
|
await this.page.goto(url, { waitUntil: "networkidle" });
|
||||||
|
|
||||||
// Wait for the page to load.
|
// Wait for the page to load.
|
||||||
await expect(this.page.locator(".tree"))
|
if (url === "/") {
|
||||||
.toContainText("Trilium Integration Test");
|
await expect(this.page.locator(".tree"))
|
||||||
await this.closeAllTabs();
|
.toContainText("Trilium Integration Test");
|
||||||
|
await this.closeAllTabs();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async goToNoteInNewTab(noteTitle: string) {
|
async goToNoteInNewTab(noteTitle: string) {
|
||||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user