From e73724a57643c48735910b9d49e2c7fb4199b012 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 3 Sep 2025 20:08:17 +0300 Subject: [PATCH] chore(dx/desktop): integrate e2e tests in same project --- .gitignore | 2 +- apps/desktop-e2e/.env | 3 -- apps/desktop-e2e/eslint.config.mjs | 15 --------- apps/desktop-e2e/package.json | 5 --- apps/desktop-e2e/tsconfig.json | 25 -------------- .../src => desktop/e2e}/example.spec.ts | 2 +- .../src => desktop/e2e}/support.ts | 0 apps/desktop/package.json | 33 ++++++++++--------- .../playwright.config.ts | 7 ++-- 9 files changed, 21 insertions(+), 71 deletions(-) delete mode 100644 apps/desktop-e2e/.env delete mode 100644 apps/desktop-e2e/eslint.config.mjs delete mode 100644 apps/desktop-e2e/package.json delete mode 100644 apps/desktop-e2e/tsconfig.json rename apps/{desktop-e2e/src => desktop/e2e}/example.spec.ts (98%) rename apps/{desktop-e2e/src => desktop/e2e}/support.ts (100%) rename apps/{desktop-e2e => desktop}/playwright.config.ts (88%) diff --git a/.gitignore b/.gitignore index 1988bc8ca..66e9781f9 100644 --- a/.gitignore +++ b/.gitignore @@ -37,7 +37,7 @@ vite.config.*.timestamp* vitest.config.*.timestamp* test-output -apps/*/data +apps/*/data* apps/*/out upload diff --git a/apps/desktop-e2e/.env b/apps/desktop-e2e/.env deleted file mode 100644 index e1766490e..000000000 --- a/apps/desktop-e2e/.env +++ /dev/null @@ -1,3 +0,0 @@ -TRILIUM_INTEGRATION_TEST=memory-no-store -TRILIUM_PORT=8082 -TRILIUM_DATA_DIR=data \ No newline at end of file diff --git a/apps/desktop-e2e/eslint.config.mjs b/apps/desktop-e2e/eslint.config.mjs deleted file mode 100644 index 1603594d7..000000000 --- a/apps/desktop-e2e/eslint.config.mjs +++ /dev/null @@ -1,15 +0,0 @@ -import playwright from "eslint-plugin-playwright"; -import baseConfig from "../../eslint.config.mjs"; - -export default [ - playwright.configs["flat/recommended"], - ...baseConfig, - { - files: [ - "**/*.ts", - "**/*.js" - ], - // Override or add rules here - rules: {} - } -]; diff --git a/apps/desktop-e2e/package.json b/apps/desktop-e2e/package.json deleted file mode 100644 index 7a1b278c7..000000000 --- a/apps/desktop-e2e/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "name": "@triliumnext/desktop-e2e", - "version": "0.0.1", - "private": true -} diff --git a/apps/desktop-e2e/tsconfig.json b/apps/desktop-e2e/tsconfig.json deleted file mode 100644 index 1df867f3a..000000000 --- a/apps/desktop-e2e/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "extends": "../../tsconfig.base.json", - "compilerOptions": { - "allowJs": true, - "outDir": "out-tsc/playwright", - "sourceMap": false - }, - "include": [ - "**/*.ts", - "**/*.js", - "playwright.config.ts", - "src/**/*.spec.ts", - "src/**/*.spec.js", - "src/**/*.test.ts", - "src/**/*.test.js", - "src/**/*.d.ts" - ], - "exclude": [ - "out-tsc", - "test-output", - "eslint.config.js", - "eslint.config.mjs", - "eslint.config.cjs" - ] -} diff --git a/apps/desktop-e2e/src/example.spec.ts b/apps/desktop/e2e/example.spec.ts similarity index 98% rename from apps/desktop-e2e/src/example.spec.ts rename to apps/desktop/e2e/example.spec.ts index 7deb51482..d07085ef9 100644 --- a/apps/desktop-e2e/src/example.spec.ts +++ b/apps/desktop/e2e/example.spec.ts @@ -60,7 +60,7 @@ test('First setup', async () => { // Verify the shared link is valid const requestContext = await request.newContext(); const response = await requestContext.get(linkUrl!); - expect(response).toBeOK(); + await expect(response).toBeOK(); await mainWindow.waitForTimeout(5000); }); diff --git a/apps/desktop-e2e/src/support.ts b/apps/desktop/e2e/support.ts similarity index 100% rename from apps/desktop-e2e/src/support.ts rename to apps/desktop/e2e/support.ts diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 03612216d..fdd9ce285 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -4,6 +4,22 @@ "description": "Build your personal knowledge base with Trilium Notes", "private": true, "main": "src/main.ts", + "license": "AGPL-3.0-only", + "author": { + "name": "Trilium Notes Team", + "email": "contact@eliandoran.me", + "url": "https://github.com/TriliumNext/Notes" + }, + "scripts": { + "dev": "cross-env TRILIUM_PORT=37741 TRILIUM_DATA_DIR=data tsx ../../scripts/electron-start.mts src/main.ts", + "start-no-dir": "cross-env TRILIUM_PORT=37743 tsx ../../scripts/electron-start.mts src/main.ts", + "build": "tsx scripts/build.ts", + "start-prod": "pnpm build && cross-env TRILIUM_DATA_DIR=data TRILIUM_PORT=37841 ELECTRON_IS_DEV=0 electron dist", + "electron-forge:make": "pnpm build && cross-env electron-forge make dist", + "electron-forge:package": "pnpm build && electron-forge package dist", + "electron-forge:start": "pnpm build && electron-forge start dist", + "e2e": "pnpm build && cross-env TRILIUM_INTEGRATION_TEST=memory-no-store TRILIUM_PORT=8082 TRILIUM_DATA_DIR=data-e2e ELECTRON_IS_DEV=0 playwright test" + }, "dependencies": { "@electron/remote": "2.1.3", "better-sqlite3": "^12.0.0", @@ -28,20 +44,5 @@ "@electron-forge/maker-zip": "7.8.3", "@electron-forge/plugin-auto-unpack-natives": "7.8.3", "prebuild-install": "^7.1.1" - }, - "scripts": { - "dev": "cross-env TRILIUM_PORT=37741 TRILIUM_DATA_DIR=data tsx ../../scripts/electron-start.mts src/main.ts", - "start-no-dir": "cross-env TRILIUM_PORT=37743 tsx ../../scripts/electron-start.mts src/main.ts", - "build": "tsx scripts/build.ts", - "start-prod": "pnpm build && cross-env TRILIUM_DATA_DIR=data TRILIUM_PORT=37841 electron dist", - "electron-forge:make": "pnpm build && cross-env electron-forge make dist", - "electron-forge:package": "pnpm build && electron-forge package dist", - "electron-forge:start": "pnpm build && electron-forge start dist" - }, - "license": "AGPL-3.0-only", - "author": { - "name": "Trilium Notes Team", - "email": "contact@eliandoran.me", - "url": "https://github.com/TriliumNext/Notes" - } + } } \ No newline at end of file diff --git a/apps/desktop-e2e/playwright.config.ts b/apps/desktop/playwright.config.ts similarity index 88% rename from apps/desktop-e2e/playwright.config.ts rename to apps/desktop/playwright.config.ts index d1b7c40f2..9ac033791 100644 --- a/apps/desktop-e2e/playwright.config.ts +++ b/apps/desktop/playwright.config.ts @@ -1,10 +1,5 @@ import { defineConfig, devices } from '@playwright/test'; -require('dotenv').config({ - path: __dirname + "/" + ".env" -}); - - /** * See https://playwright.dev/docs/test-configuration. */ @@ -14,6 +9,8 @@ export default defineConfig({ /* Collect trace when retrying the failed test. See https://playwright.dev/docs/trace-viewer */ trace: 'on-first-retry', }, + testDir: "e2e", + outputDir: "test-output", projects: [ { name: "chromium",