50 lines
1.4 KiB
TypeScript
50 lines
1.4 KiB
TypeScript
/**
|
|
* Playwright Global Setup
|
|
*
|
|
* Runs once before all tests. Use this to:
|
|
* - Seed test data via API action hooks
|
|
* - Create test users
|
|
* - Verify the dev environment is accessible
|
|
*
|
|
* Customize the setup_testing action call for your project,
|
|
* or remove it if not needed.
|
|
*/
|
|
import { request } from "@playwright/test"
|
|
import { API_BASE } from "./fixtures/test-constants"
|
|
|
|
async function globalSetup() {
|
|
const baseURL = process.env.CODING_URL || "https://localhost:3000"
|
|
|
|
// Verify dev environment is reachable
|
|
const ctx = await request.newContext({
|
|
baseURL,
|
|
ignoreHTTPSErrors: true,
|
|
extraHTTPHeaders: {
|
|
"User-Agent": "Playwright",
|
|
},
|
|
})
|
|
|
|
try {
|
|
const res = await ctx.get("/")
|
|
if (!res.ok()) {
|
|
console.warn(`⚠️ Dev environment at ${baseURL} returned ${res.status()}`)
|
|
} else {
|
|
console.log(`✅ Dev environment reachable at ${baseURL}`)
|
|
}
|
|
|
|
// Uncomment and adapt for project-specific test data seeding:
|
|
// const seedRes = await ctx.post(`${API_BASE}/action`, {
|
|
// params: { cmd: "setup_testing" },
|
|
// data: { scope: "all" },
|
|
// headers: { Token: ADMIN_TOKEN },
|
|
// })
|
|
// if (seedRes.ok()) {
|
|
// console.log("✅ Test data seeded")
|
|
// }
|
|
} finally {
|
|
await ctx.dispose()
|
|
}
|
|
}
|
|
|
|
export default globalSetup
|