chore(07-01): install @playwright/test@1.60.0, add test:e2e scripts

- Add @playwright/test@1.60.0 to apps/pwa devDependencies (pinned, not floated)
- Install WebKit and Chromium browser engines via playwright install
- Add test:e2e, test:e2e:ui, test:e2e:headed scripts to apps/pwa/package.json
- Add root workspace test:e2e delegate script to package.json
This commit is contained in:
Lucas Berger
2026-06-11 01:40:30 -04:00
parent 32deab91fd
commit 0c24f77bdb
3 changed files with 44 additions and 1 deletions
+5 -1
View File
@@ -8,7 +8,10 @@
"build": "tsc && vite build", "build": "tsc && vite build",
"preview": "vite preview", "preview": "vite preview",
"typecheck": "tsc --noEmit", "typecheck": "tsc --noEmit",
"test": "vitest run" "test": "vitest run",
"test:e2e": "playwright test",
"test:e2e:ui": "playwright test --ui",
"test:e2e:headed": "playwright test --headed"
}, },
"dependencies": { "dependencies": {
"@dnd-kit/core": "^6.3.1", "@dnd-kit/core": "^6.3.1",
@@ -31,6 +34,7 @@
"zustand": "5.0.14" "zustand": "5.0.14"
}, },
"devDependencies": { "devDependencies": {
"@playwright/test": "1.60.0",
"@testing-library/jest-dom": "^6.6.3", "@testing-library/jest-dom": "^6.6.3",
"@testing-library/react": "^16.3.0", "@testing-library/react": "^16.3.0",
"@types/react": "^19.0.0", "@types/react": "^19.0.0",
+1
View File
@@ -7,6 +7,7 @@
"dev:pwa": "pnpm --filter @familysync/pwa dev", "dev:pwa": "pnpm --filter @familysync/pwa dev",
"build": "pnpm --filter @familysync/api build && pnpm --filter @familysync/pwa build", "build": "pnpm --filter @familysync/api build && pnpm --filter @familysync/pwa build",
"test": "pnpm --filter @familysync/api test", "test": "pnpm --filter @familysync/api test",
"test:e2e": "pnpm --filter @familysync/pwa test:e2e",
"lint": "pnpm -r lint", "lint": "pnpm -r lint",
"typecheck": "pnpm -r typecheck" "typecheck": "pnpm -r typecheck"
} }
+38
View File
@@ -123,6 +123,9 @@ importers:
specifier: 5.0.14 specifier: 5.0.14
version: 5.0.14(@types/react@19.2.16)(react@19.2.7) version: 5.0.14(@types/react@19.2.16)(react@19.2.7)
devDependencies: devDependencies:
'@playwright/test':
specifier: 1.60.0
version: 1.60.0
'@testing-library/jest-dom': '@testing-library/jest-dom':
specifier: ^6.6.3 specifier: ^6.6.3
version: 6.9.1 version: 6.9.1
@@ -1251,6 +1254,11 @@ packages:
'@oxc-project/types@0.133.0': '@oxc-project/types@0.133.0':
resolution: {integrity: sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==} resolution: {integrity: sha512-KzkdCd6Uxqnf6l3HOw1xfatAlUURA0g14cvBYFyJ5SaNOQbOUvBr9PKArcPcrNIeRsBdgcUzOGrhKveVpvOIGA==}
'@playwright/test@1.60.0':
resolution: {integrity: sha512-O71yZIbAh/PxDMNGns37GHBIfrVkEVyn+AXyIa5dOTfb4/xNvRWV+Vv/NMbNCtODB/pO7vLlF2OTmMVLhmr7Ag==}
engines: {node: '>=18'}
hasBin: true
'@preact/signals-core@1.14.2': '@preact/signals-core@1.14.2':
resolution: {integrity: sha512-RZHdBj9ZF4n40Rp4jS052EHHjBWf96P9oNdXPfhQTovCuWY9iQn3Gq+gOTJSgBO9A/JBuPfMOWsSX/lIU9Pc/A==} resolution: {integrity: sha512-RZHdBj9ZF4n40Rp4jS052EHHjBWf96P9oNdXPfhQTovCuWY9iQn3Gq+gOTJSgBO9A/JBuPfMOWsSX/lIU9Pc/A==}
@@ -2136,6 +2144,11 @@ packages:
resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==}
engines: {node: '>=10'} engines: {node: '>=10'}
fsevents@2.3.2:
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
os: [darwin]
fsevents@2.3.3: fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -2644,6 +2657,16 @@ packages:
resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==} resolution: {integrity: sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==}
engines: {node: '>=12'} engines: {node: '>=12'}
playwright-core@1.60.0:
resolution: {integrity: sha512-9bW6zvX/m0lEbgTKJ6YppOKx8H3VOPBMOCFh2irXFOT4BbHgrx5hPjwJYLT40Lu+4qtD36qKc/Hn56StUW57IA==}
engines: {node: '>=18'}
hasBin: true
playwright@1.60.0:
resolution: {integrity: sha512-hheHdokM8cdqCb0lcE3s+zT4t4W+vvjpGxsZlDnikarzx8tSzMebh3UiFtgqwFwnTnjYQcsyMF8ei2mCO/tpeA==}
engines: {node: '>=18'}
hasBin: true
possible-typed-array-names@1.1.0: possible-typed-array-names@1.1.0:
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
@@ -4319,6 +4342,10 @@ snapshots:
'@oxc-project/types@0.133.0': {} '@oxc-project/types@0.133.0': {}
'@playwright/test@1.60.0':
dependencies:
playwright: 1.60.0
'@preact/signals-core@1.14.2': {} '@preact/signals-core@1.14.2': {}
'@preact/signals@2.9.1(preact@10.29.2)': '@preact/signals@2.9.1(preact@10.29.2)':
@@ -5129,6 +5156,9 @@ snapshots:
jsonfile: 6.2.1 jsonfile: 6.2.1
universalify: 2.0.1 universalify: 2.0.1
fsevents@2.3.2:
optional: true
fsevents@2.3.3: fsevents@2.3.3:
optional: true optional: true
@@ -5610,6 +5640,14 @@ snapshots:
picomatch@4.0.4: {} picomatch@4.0.4: {}
playwright-core@1.60.0: {}
playwright@1.60.0:
dependencies:
playwright-core: 1.60.0
optionalDependencies:
fsevents: 2.3.2
possible-typed-array-names@1.1.0: {} possible-typed-array-names@1.1.0: {}
postcss@8.5.15: postcss@8.5.15: