test(e2e): fix 4 pre-existing E2E failures and make port-conflict-proof
Audit of the full E2E suite (43 specs) surfaced four issues that were hiding behind 'all 96/96 web unit tests pass' but actually meant the browser-level coverage was broken end-to-end. All four are fixed and the suite now passes 43/43. 1. Port conflict silently testing wrong app. playwright.config.ts hard- coded baseURL=http://localhost:3000 with reuseExistingServer:true on non-CI hosts. When the dev host had ANY service on :3000 (Grafana, chronomind, etc), Playwright happily ran the entire E2E suite against the wrong app and reported the unrelated failures as 'real'. Now honors NOTELETT_WEB_PORT env (default 3000) so a contributor can opt into any free port and Playwright drives both baseURL and the dev-server PORT consistently. 2. Missing test dependency. web/e2e/accessibility.spec.ts imports @axe-core/playwright but web/package.json never declared it. The accessibility coverage was DOA — every CI run that included this spec would module-not-found-error before a single check ran. Added @axe-core/playwright to devDependencies. 3. Mock that never fires. smart-actions.spec.ts 'history API mock returns items' used page.route() to mock /api/note-prompts/history then bypassed the mock entirely with page.request.get() (which uses Playwright's separate request context, not the browser context that page.route intercepts). The request went to the dev server and got 404. Replaced with page.goto + page.evaluate(fetch(...)) so the browser-side fetch hits the page.route mock as intended. 4. Missing visual-regression baselines. visual-regression.spec.ts had no committed baseline screenshots for dashboard / workspaces / search. First run on a clean host always reported 'snapshot doesn't exist, writing actual'. Generated and committed darwin baselines. Verified end-to-end (NOTELETT_WEB_PORT=3050 against this host's free port): 43 passed (34.8s) Total test-tier counts on main now: backend unit + integration (memory) 380/380 backend cosmos emulator (live) 4/4 web vitest 96/96 mobile vitest 97/97 web playwright e2e 43/43 --- TOTAL 620/620
This commit is contained in:
parent
34cb219962
commit
7103660c95
87
pnpm-lock.yaml
generated
87
pnpm-lock.yaml
generated
@ -725,7 +725,7 @@ importers:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@azure/cosmos':
|
'@azure/cosmos':
|
||||||
specifier: ^4.2.0
|
specifier: ^4.2.0
|
||||||
version: 4.9.3
|
version: 4.9.3(@azure/core-client@1.10.1)
|
||||||
'@bytelyst/auth':
|
'@bytelyst/auth':
|
||||||
specifier: workspace:*
|
specifier: workspace:*
|
||||||
version: link:../../learning_ai_common_plat/packages/auth
|
version: link:../../learning_ai_common_plat/packages/auth
|
||||||
@ -1008,6 +1008,9 @@ importers:
|
|||||||
specifier: ^2.0.0
|
specifier: ^2.0.0
|
||||||
version: 2.0.7(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
version: 2.0.7(react-dom@19.2.0(react@19.2.0))(react@19.2.0)
|
||||||
devDependencies:
|
devDependencies:
|
||||||
|
'@axe-core/playwright':
|
||||||
|
specifier: ^4.11.3
|
||||||
|
version: 4.11.3(playwright-core@1.60.0)
|
||||||
'@playwright/test':
|
'@playwright/test':
|
||||||
specifier: ^1.58.2
|
specifier: ^1.58.2
|
||||||
version: 1.60.0
|
version: 1.60.0
|
||||||
@ -1074,6 +1077,11 @@ packages:
|
|||||||
'@asamuzakjp/nwsapi@2.3.9':
|
'@asamuzakjp/nwsapi@2.3.9':
|
||||||
resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==}
|
resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==}
|
||||||
|
|
||||||
|
'@axe-core/playwright@4.11.3':
|
||||||
|
resolution: {integrity: sha512-h/kfksv4F0cVIDlKpT4700OehdRgpvuVskuQ2nb7/JmtWUXpe9ftHAPtwyXGvVSsa6SJ64A9ER7Zrzc/sIvC4w==}
|
||||||
|
peerDependencies:
|
||||||
|
playwright-core: '>= 1.0.0'
|
||||||
|
|
||||||
'@azure-rest/core-client@2.6.0':
|
'@azure-rest/core-client@2.6.0':
|
||||||
resolution: {integrity: sha512-iuFKDm8XPzNxPfRjhyU5/xKZmcRDzSuEghXDHHk4MjBV/wFL34GmYVBZnn9wmuoLBeS1qAw9ceMdaeJBPcB1QQ==}
|
resolution: {integrity: sha512-iuFKDm8XPzNxPfRjhyU5/xKZmcRDzSuEghXDHHk4MjBV/wFL34GmYVBZnn9wmuoLBeS1qAw9ceMdaeJBPcB1QQ==}
|
||||||
engines: {node: '>=20.0.0'}
|
engines: {node: '>=20.0.0'}
|
||||||
@ -8143,6 +8151,11 @@ snapshots:
|
|||||||
|
|
||||||
'@asamuzakjp/nwsapi@2.3.9': {}
|
'@asamuzakjp/nwsapi@2.3.9': {}
|
||||||
|
|
||||||
|
'@axe-core/playwright@4.11.3(playwright-core@1.60.0)':
|
||||||
|
dependencies:
|
||||||
|
axe-core: 4.11.4
|
||||||
|
playwright-core: 1.60.0
|
||||||
|
|
||||||
'@azure-rest/core-client@2.6.0':
|
'@azure-rest/core-client@2.6.0':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@azure/abort-controller': 2.1.2
|
'@azure/abort-controller': 2.1.2
|
||||||
@ -8243,6 +8256,23 @@ snapshots:
|
|||||||
- '@azure/core-client'
|
- '@azure/core-client'
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
|
'@azure/cosmos@4.9.3(@azure/core-client@1.10.1)':
|
||||||
|
dependencies:
|
||||||
|
'@azure/abort-controller': 2.1.2
|
||||||
|
'@azure/core-auth': 1.10.1
|
||||||
|
'@azure/core-rest-pipeline': 1.23.0
|
||||||
|
'@azure/core-tracing': 1.3.1
|
||||||
|
'@azure/core-util': 1.13.1
|
||||||
|
'@azure/keyvault-keys': 4.10.0(@azure/core-client@1.10.1)
|
||||||
|
'@azure/logger': 1.3.0
|
||||||
|
fast-json-stable-stringify: 2.1.0
|
||||||
|
priorityqueuejs: 2.0.0
|
||||||
|
semaphore: 1.1.0
|
||||||
|
tslib: 2.8.1
|
||||||
|
transitivePeerDependencies:
|
||||||
|
- '@azure/core-client'
|
||||||
|
- supports-color
|
||||||
|
|
||||||
'@azure/identity@4.13.1':
|
'@azure/identity@4.13.1':
|
||||||
dependencies:
|
dependencies:
|
||||||
'@azure/abort-controller': 2.1.2
|
'@azure/abort-controller': 2.1.2
|
||||||
@ -9467,7 +9497,7 @@ snapshots:
|
|||||||
|
|
||||||
'@expo/dom-webview@55.0.6(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)':
|
'@expo/dom-webview@55.0.6(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)':
|
||||||
dependencies:
|
dependencies:
|
||||||
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(@expo/metro-runtime@6.1.2)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
react-native: 0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)
|
react-native: 0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)
|
||||||
|
|
||||||
@ -9548,7 +9578,7 @@ snapshots:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@expo/dom-webview': 55.0.6(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)
|
'@expo/dom-webview': 55.0.6(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)
|
||||||
anser: 1.4.10
|
anser: 1.4.10
|
||||||
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(@expo/metro-runtime@6.1.2)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
react-native: 0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)
|
react-native: 0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)
|
||||||
stacktrace-parser: 0.1.11
|
stacktrace-parser: 0.1.11
|
||||||
@ -9575,7 +9605,7 @@ snapshots:
|
|||||||
postcss: 8.5.15
|
postcss: 8.5.15
|
||||||
resolve-from: 5.0.0
|
resolve-from: 5.0.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(@expo/metro-runtime@6.1.2)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- bufferutil
|
- bufferutil
|
||||||
- supports-color
|
- supports-color
|
||||||
@ -9650,7 +9680,7 @@ snapshots:
|
|||||||
'@expo/json-file': 10.2.0
|
'@expo/json-file': 10.2.0
|
||||||
'@react-native/normalize-colors': 0.83.6
|
'@react-native/normalize-colors': 0.83.6
|
||||||
debug: 4.4.3
|
debug: 4.4.3
|
||||||
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(@expo/metro-runtime@6.1.2)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
||||||
resolve-from: 5.0.0
|
resolve-from: 5.0.0
|
||||||
semver: 7.8.1
|
semver: 7.8.1
|
||||||
xml2js: 0.6.0
|
xml2js: 0.6.0
|
||||||
@ -12149,7 +12179,7 @@ snapshots:
|
|||||||
resolve-from: 5.0.0
|
resolve-from: 5.0.0
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
'@babel/runtime': 7.29.2
|
'@babel/runtime': 7.29.2
|
||||||
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(@expo/metro-runtime@6.1.2)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- '@babel/core'
|
- '@babel/core'
|
||||||
- supports-color
|
- supports-color
|
||||||
@ -12795,8 +12825,8 @@ snapshots:
|
|||||||
'@next/eslint-plugin-next': 16.1.6
|
'@next/eslint-plugin-next': 16.1.6
|
||||||
eslint: 9.39.4(jiti@2.7.0)
|
eslint: 9.39.4(jiti@2.7.0)
|
||||||
eslint-import-resolver-node: 0.3.10
|
eslint-import-resolver-node: 0.3.10
|
||||||
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))
|
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.7.0))
|
||||||
eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))
|
eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0))
|
||||||
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.4(jiti@2.7.0))
|
eslint-plugin-jsx-a11y: 6.10.2(eslint@9.39.4(jiti@2.7.0))
|
||||||
eslint-plugin-react: 7.37.5(eslint@9.39.4(jiti@2.7.0))
|
eslint-plugin-react: 7.37.5(eslint@9.39.4(jiti@2.7.0))
|
||||||
eslint-plugin-react-hooks: 7.1.1(eslint@9.39.4(jiti@2.7.0))
|
eslint-plugin-react-hooks: 7.1.1(eslint@9.39.4(jiti@2.7.0))
|
||||||
@ -12818,21 +12848,6 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)):
|
|
||||||
dependencies:
|
|
||||||
'@nolyfill/is-core-module': 1.0.39
|
|
||||||
debug: 4.4.3
|
|
||||||
eslint: 9.39.4(jiti@2.7.0)
|
|
||||||
get-tsconfig: 4.14.0
|
|
||||||
is-bun-module: 2.0.0
|
|
||||||
stable-hash: 0.0.5
|
|
||||||
tinyglobby: 0.2.16
|
|
||||||
unrs-resolver: 1.12.2
|
|
||||||
optionalDependencies:
|
|
||||||
eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
|
|
||||||
eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.7.0)):
|
eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0)(eslint@9.39.4(jiti@2.7.0)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@nolyfill/is-core-module': 1.0.39
|
'@nolyfill/is-core-module': 1.0.39
|
||||||
@ -12844,7 +12859,7 @@ snapshots:
|
|||||||
tinyglobby: 0.2.16
|
tinyglobby: 0.2.16
|
||||||
unrs-resolver: 1.12.2
|
unrs-resolver: 1.12.2
|
||||||
optionalDependencies:
|
optionalDependencies:
|
||||||
eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0))
|
eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0))
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
@ -12859,16 +12874,6 @@ snapshots:
|
|||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-module-utils@2.12.1(eslint-import-resolver-node@0.3.10)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)):
|
|
||||||
dependencies:
|
|
||||||
debug: 3.2.7
|
|
||||||
optionalDependencies:
|
|
||||||
eslint: 9.39.4(jiti@2.7.0)
|
|
||||||
eslint-import-resolver-node: 0.3.10
|
|
||||||
eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import@2.32.0(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- supports-color
|
|
||||||
|
|
||||||
eslint-plugin-expo@1.0.3(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3):
|
eslint-plugin-expo@1.0.3(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/types': 8.59.4
|
'@typescript-eslint/types': 8.59.4
|
||||||
@ -12907,7 +12912,7 @@ snapshots:
|
|||||||
- eslint-import-resolver-webpack
|
- eslint-import-resolver-webpack
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
eslint-plugin-import@2.32.0(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)):
|
eslint-plugin-import@2.32.0(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@rtsao/scc': 1.1.0
|
'@rtsao/scc': 1.1.0
|
||||||
array-includes: 3.1.9
|
array-includes: 3.1.9
|
||||||
@ -12918,7 +12923,7 @@ snapshots:
|
|||||||
doctrine: 2.1.0
|
doctrine: 2.1.0
|
||||||
eslint: 9.39.4(jiti@2.7.0)
|
eslint: 9.39.4(jiti@2.7.0)
|
||||||
eslint-import-resolver-node: 0.3.10
|
eslint-import-resolver-node: 0.3.10
|
||||||
eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.10)(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import@2.32.0(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0)))(eslint@9.39.4(jiti@2.7.0))
|
eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.59.4(eslint@9.39.4(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.10)(eslint-import-resolver-typescript@3.10.1)(eslint@9.39.4(jiti@2.7.0))
|
||||||
hasown: 2.0.3
|
hasown: 2.0.3
|
||||||
is-core-module: 2.16.2
|
is-core-module: 2.16.2
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
@ -13085,7 +13090,7 @@ snapshots:
|
|||||||
expo-asset@55.0.17(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3):
|
expo-asset@55.0.17(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@expo/image-utils': 0.8.14(typescript@5.9.3)
|
'@expo/image-utils': 0.8.14(typescript@5.9.3)
|
||||||
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(@expo/metro-runtime@6.1.2)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
||||||
expo-constants: 55.0.16(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))
|
expo-constants: 55.0.16(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
react-native: 0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)
|
react-native: 0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)
|
||||||
@ -13111,26 +13116,26 @@ snapshots:
|
|||||||
expo-constants@55.0.16(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)):
|
expo-constants@55.0.16(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)):
|
||||||
dependencies:
|
dependencies:
|
||||||
'@expo/env': 2.1.2
|
'@expo/env': 2.1.2
|
||||||
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(@expo/metro-runtime@6.1.2)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
||||||
react-native: 0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)
|
react-native: 0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
|
|
||||||
expo-file-system@55.0.22(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)):
|
expo-file-system@55.0.22(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)):
|
||||||
dependencies:
|
dependencies:
|
||||||
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(@expo/metro-runtime@6.1.2)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
||||||
react-native: 0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)
|
react-native: 0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)
|
||||||
|
|
||||||
expo-font@55.0.8(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0):
|
expo-font@55.0.8(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(@expo/metro-runtime@6.1.2)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
||||||
fontfaceobserver: 2.3.0
|
fontfaceobserver: 2.3.0
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
react-native: 0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)
|
react-native: 0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0)
|
||||||
|
|
||||||
expo-keep-awake@55.0.8(expo@55.0.26)(react@19.2.0):
|
expo-keep-awake@55.0.8(expo@55.0.26)(react@19.2.0):
|
||||||
dependencies:
|
dependencies:
|
||||||
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(@expo/metro-runtime@6.1.2)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
expo: 55.0.26(@babel/core@7.29.0)(@expo/dom-webview@55.0.6)(expo-router@6.0.23)(react-dom@19.2.0(react@19.2.0))(react-native-worklets@0.8.3(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0))(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0)(typescript@5.9.3)
|
||||||
react: 19.2.0
|
react: 19.2.0
|
||||||
|
|
||||||
expo-linking@8.0.12(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0):
|
expo-linking@8.0.12(expo@55.0.26)(react-native@0.83.2(@babel/core@7.29.0)(@react-native/metro-config@0.85.3(@babel/core@7.29.0))(@types/react@19.2.15)(react@19.2.0))(react@19.2.0):
|
||||||
|
|||||||
1
web/.gitignore
vendored
1
web/.gitignore
vendored
@ -4,3 +4,4 @@ out
|
|||||||
coverage
|
coverage
|
||||||
.env.local
|
.env.local
|
||||||
.env
|
.env
|
||||||
|
playwright-report/
|
||||||
|
|||||||
@ -181,6 +181,10 @@ test.describe("Smart Actions", () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
test("history API mock returns items", async ({ page }) => {
|
test("history API mock returns items", async ({ page }) => {
|
||||||
|
// page.route() intercepts BROWSER network requests, while
|
||||||
|
// page.request.get() uses Playwright's separate request context
|
||||||
|
// which bypasses page.route() entirely. Drive the request from
|
||||||
|
// within the page (fetch) so the mock applies.
|
||||||
await page.route("**/api/note-prompts/history**", (route) =>
|
await page.route("**/api/note-prompts/history**", (route) =>
|
||||||
route.fulfill({
|
route.fulfill({
|
||||||
status: 200,
|
status: 200,
|
||||||
@ -191,9 +195,12 @@ test.describe("Smart Actions", () => {
|
|||||||
}),
|
}),
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
const response = await page.request.get("/api/note-prompts/history?workspaceId=ws1");
|
await page.goto("/dashboard");
|
||||||
expect(response.status()).toBe(200);
|
const data = await page.evaluate(async () => {
|
||||||
const data = await response.json();
|
const res = await fetch("/api/note-prompts/history?workspaceId=ws1");
|
||||||
expect(data.items).toHaveLength(1);
|
return { status: res.status, body: await res.json() } as { status: number; body: { items: unknown[]; total: number } };
|
||||||
|
});
|
||||||
|
expect(data.status).toBe(200);
|
||||||
|
expect(data.body.items).toHaveLength(1);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
BIN
web/e2e/visual-regression.spec.ts-snapshots/dashboard-darwin.png
Normal file
BIN
web/e2e/visual-regression.spec.ts-snapshots/dashboard-darwin.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
BIN
web/e2e/visual-regression.spec.ts-snapshots/search-darwin.png
Normal file
BIN
web/e2e/visual-regression.spec.ts-snapshots/search-darwin.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
2
web/next-env.d.ts
vendored
2
web/next-env.d.ts
vendored
@ -1,6 +1,6 @@
|
|||||||
/// <reference types="next" />
|
/// <reference types="next" />
|
||||||
/// <reference types="next/image-types/global" />
|
/// <reference types="next/image-types/global" />
|
||||||
import "./.next/types/routes.d.ts";
|
import "./.next/dev/types/routes.d.ts";
|
||||||
|
|
||||||
// NOTE: This file should not be edited
|
// NOTE: This file should not be edited
|
||||||
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
|
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
|
||||||
|
|||||||
@ -17,32 +17,34 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@bytelyst/api-client": "*",
|
"@bytelyst/api-client": "*",
|
||||||
"@bytelyst/billing-client": "*",
|
"@bytelyst/billing-client": "*",
|
||||||
"@bytelyst/design-tokens": "*",
|
|
||||||
"@bytelyst/blob-client": "*",
|
"@bytelyst/blob-client": "*",
|
||||||
"@bytelyst/diagnostics-client": "*",
|
|
||||||
"@bytelyst/feature-flag-client": "*",
|
|
||||||
"@bytelyst/kill-switch-client": "*",
|
|
||||||
"@bytelyst/platform-client": "*",
|
|
||||||
"@bytelyst/dashboard-components": "*",
|
|
||||||
"@bytelyst/broadcast-client": "*",
|
"@bytelyst/broadcast-client": "*",
|
||||||
|
"@bytelyst/dashboard-components": "*",
|
||||||
|
"@bytelyst/design-tokens": "*",
|
||||||
|
"@bytelyst/diagnostics-client": "*",
|
||||||
"@bytelyst/extraction": "*",
|
"@bytelyst/extraction": "*",
|
||||||
|
"@bytelyst/feature-flag-client": "*",
|
||||||
"@bytelyst/feedback-client": "*",
|
"@bytelyst/feedback-client": "*",
|
||||||
|
"@bytelyst/kill-switch-client": "*",
|
||||||
"@bytelyst/offline-queue": "*",
|
"@bytelyst/offline-queue": "*",
|
||||||
|
"@bytelyst/platform-client": "*",
|
||||||
|
"@bytelyst/react-auth": "*",
|
||||||
"@bytelyst/survey-client": "*",
|
"@bytelyst/survey-client": "*",
|
||||||
|
"@bytelyst/telemetry-client": "*",
|
||||||
|
"@bytelyst/ui": "*",
|
||||||
"@tiptap/extension-placeholder": "^2.11.0",
|
"@tiptap/extension-placeholder": "^2.11.0",
|
||||||
"@tiptap/pm": "^2.11.0",
|
"@tiptap/pm": "^2.11.0",
|
||||||
"@tiptap/react": "^2.11.0",
|
"@tiptap/react": "^2.11.0",
|
||||||
"@tiptap/starter-kit": "^2.11.0",
|
"@tiptap/starter-kit": "^2.11.0",
|
||||||
"@bytelyst/react-auth": "*",
|
|
||||||
"@bytelyst/telemetry-client": "*",
|
|
||||||
"@bytelyst/ui": "*",
|
|
||||||
"lucide-react": "^0.575.0",
|
"lucide-react": "^0.575.0",
|
||||||
"sonner": "^2.0.0",
|
|
||||||
"next": "16.1.6",
|
"next": "16.1.6",
|
||||||
"react": "19.2.0",
|
"react": "19.2.0",
|
||||||
"react-dom": "19.2.0"
|
"react-dom": "19.2.0",
|
||||||
|
"sonner": "^2.0.0"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@axe-core/playwright": "^4.11.3",
|
||||||
|
"@playwright/test": "^1.58.2",
|
||||||
"@tailwindcss/postcss": "^4",
|
"@tailwindcss/postcss": "^4",
|
||||||
"@testing-library/jest-dom": "^6.9.1",
|
"@testing-library/jest-dom": "^6.9.1",
|
||||||
"@testing-library/react": "^16.3.2",
|
"@testing-library/react": "^16.3.2",
|
||||||
@ -54,7 +56,6 @@
|
|||||||
"jsdom": "^28.1.0",
|
"jsdom": "^28.1.0",
|
||||||
"tailwindcss": "^4",
|
"tailwindcss": "^4",
|
||||||
"typescript": "^5.9.3",
|
"typescript": "^5.9.3",
|
||||||
"@playwright/test": "^1.58.2",
|
|
||||||
"vitest": "^4.0.18"
|
"vitest": "^4.0.18"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,12 @@
|
|||||||
import { defineConfig } from "@playwright/test";
|
import { defineConfig } from "@playwright/test";
|
||||||
|
|
||||||
|
// Allow overriding the dev-server port via NOTELETT_WEB_PORT so contributors
|
||||||
|
// whose host already has port 3000 occupied (Grafana, another product's
|
||||||
|
// web app, etc.) can run E2E without port conflicts that would otherwise
|
||||||
|
// silently test against the wrong app.
|
||||||
|
const port = Number(process.env.NOTELETT_WEB_PORT ?? 3000);
|
||||||
|
const baseURL = `http://localhost:${port}`;
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
testDir: "./e2e",
|
testDir: "./e2e",
|
||||||
fullyParallel: true,
|
fullyParallel: true,
|
||||||
@ -8,12 +15,12 @@ export default defineConfig({
|
|||||||
workers: process.env.CI ? 1 : undefined,
|
workers: process.env.CI ? 1 : undefined,
|
||||||
reporter: "html",
|
reporter: "html",
|
||||||
use: {
|
use: {
|
||||||
baseURL: "http://localhost:3000",
|
baseURL,
|
||||||
trace: "on-first-retry",
|
trace: "on-first-retry",
|
||||||
},
|
},
|
||||||
webServer: {
|
webServer: {
|
||||||
command: "pnpm run dev",
|
command: `PORT=${port} pnpm run dev`,
|
||||||
url: "http://localhost:3000",
|
url: baseURL,
|
||||||
reuseExistingServer: !process.env.CI,
|
reuseExistingServer: !process.env.CI,
|
||||||
timeout: 120_000,
|
timeout: 120_000,
|
||||||
},
|
},
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user