Skip to content

Commit

Permalink
chore(e2e): test eslint warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
eliandoran committed Jan 11, 2025
1 parent dcc0e76 commit db66998
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 0 deletions.
29 changes: 29 additions & 0 deletions e2e/note_types/code.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { test, expect, Page } from "@playwright/test";
import App from "../support/app";

test("Displays lint warnings for backend script", async ({ page }) => {
const app = new App(page);
await app.goto();
await app.closeAllTabs();
await app.goToNoteInNewTab("Backend script with lint warning");

const codeEditor = app.currentNoteSplit.locator(".CodeMirror");
expect(await app.currentNoteSplit.locator(".note-title").inputValue()).toBe("Backend script with lint warnings");

// Expect two warning signs in the gutter.
expect(codeEditor.locator(".CodeMirror-gutter-wrapper .CodeMirror-lint-marker-warning")).toHaveCount(2);

// Hover over hello
await codeEditor.getByText("hello").first().hover();
await expectTooltip(page, "'hello' is defined but never used.");

// Hover over world
await codeEditor.getByText("world").first().hover();
await expectTooltip(page, "'world' is defined but never used.");
});

async function expectTooltip(page: Page, tooltip: string) {
await expect(page.locator(".CodeMirror-lint-tooltip:visible", {
"hasText": tooltip
})).toBeVisible();
}
9 changes: 9 additions & 0 deletions e2e/support/app.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@ export default class App {

readonly tabBar: Locator;
readonly noteTree: Locator;
readonly currentNoteSplit: Locator;

constructor(page: Page) {
this.page = page;
this.tabBar = page.locator(".tab-row-widget-container");
this.noteTree = page.locator(".tree-wrapper");
this.currentNoteSplit = page.locator(".note-split:not(.hidden-ext)")
}

async goto() {
Expand All @@ -20,6 +22,13 @@ export default class App {
.toContainText("Trilium Integration Test");
}

async goToNoteInNewTab(noteTitle: string) {
const autocomplete = this.currentNoteSplit.locator(".note-autocomplete");
await autocomplete.fill(noteTitle);
await autocomplete.press("ArrowDown");
await autocomplete.press("Enter");
}

getTab(tabIndex: number) {
return this.tabBar.locator(".note-tab-wrapper").nth(tabIndex);
}
Expand Down
Binary file modified integration-tests/db/document.db
Binary file not shown.

0 comments on commit db66998

Please sign in to comment.