Skip to content

Commit b1558ec

Browse files
committed
Add Playwright setup for in-browser tests
- Add @epic-web/workshop-utils to root dependencies - Add playwright.config.ts and workshop.test.ts in epicshop/ - Add @playwright/test, get-port, @types/node to epicshop deps
1 parent 48ba954 commit b1558ec

File tree

7 files changed

+9685
-2739
lines changed

7 files changed

+9685
-2739
lines changed

epicshop/package-lock.json

Lines changed: 10 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

epicshop/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@
33
"dependencies": {
44
"@epic-web/workshop-app": "^6.50.0",
55
"@epic-web/workshop-utils": "^6.50.0",
6+
"@playwright/test": "^1.49.1",
7+
"@types/node": "^22.10.5",
68
"chokidar": "^5.0.0",
79
"enquirer": "^2.4.1",
810
"epicshop": "^6.50.0",
911
"execa": "^9.6.1",
1012
"fs-extra": "^11.3.3",
13+
"get-port": "^7.1.0",
1114
"match-sorter": "^8.2.0",
1215
"p-limit": "^7.2.0"
1316
}

epicshop/playwright.config.ts

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { defineConfig } from '@playwright/test'
2+
import getPort from 'get-port'
3+
4+
const port = process.env.PORT ? Number(process.env.PORT) : await getPort({ port: 5639 })
5+
6+
process.env.PORT = String(port)
7+
8+
export default defineConfig({
9+
testDir: '.',
10+
testMatch: 'workshop.test.ts',
11+
timeout: 60000,
12+
use: {
13+
baseURL: `http://localhost:${port}`,
14+
},
15+
webServer: {
16+
command: 'npm run dev',
17+
cwd: '..',
18+
port,
19+
reuseExistingServer: true,
20+
timeout: 120000,
21+
},
22+
})
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"status": "passed",
3+
"failedTests": []
4+
}

epicshop/workshop.test.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/// <reference types="chai-dom" />
2+
import { setupInBrowserTests } from '@epic-web/workshop-utils/playwright.server'
3+
4+
setupInBrowserTests()

0 commit comments

Comments
 (0)