|  | 
| 1 | 1 | import { test, expect } from "@playwright/test"; | 
|  | 2 | +import fs from "node:fs"; | 
| 2 | 3 | 
 | 
| 3 | 4 | test.describe("Simple Application Tests", () => { | 
|  | 5 | +  const jsCoverage: any[] = []; | 
|  | 6 | +  const cssCoverage: any[] = []; | 
|  | 7 | + | 
|  | 8 | +  test.beforeEach(async ({ page }) => { | 
|  | 9 | +    // Start coverage collection for each test | 
|  | 10 | +    await page.coverage.startJSCoverage(); | 
|  | 11 | +    await page.coverage.startCSSCoverage(); | 
|  | 12 | +  }); | 
|  | 13 | + | 
|  | 14 | +  test.afterEach(async ({ page }) => { | 
|  | 15 | +    // Collect coverage after each test | 
|  | 16 | +    const jsResults = await page.coverage.stopJSCoverage(); | 
|  | 17 | +    const cssResults = await page.coverage.stopCSSCoverage(); | 
|  | 18 | + | 
|  | 19 | +    jsCoverage.push(...jsResults); | 
|  | 20 | +    cssCoverage.push(...cssResults); | 
|  | 21 | +  }); | 
|  | 22 | + | 
|  | 23 | +  test.afterAll(async () => { | 
|  | 24 | +    // Write coverage data to files | 
|  | 25 | +    if (jsCoverage.length > 0) { | 
|  | 26 | +      fs.mkdirSync("coverage", { recursive: true }); | 
|  | 27 | +      fs.writeFileSync( | 
|  | 28 | +        "coverage/js-coverage.json", | 
|  | 29 | +        JSON.stringify(jsCoverage, null, 2), | 
|  | 30 | +      ); | 
|  | 31 | +    } | 
|  | 32 | +    if (cssCoverage.length > 0) { | 
|  | 33 | +      fs.mkdirSync("coverage", { recursive: true }); | 
|  | 34 | +      fs.writeFileSync( | 
|  | 35 | +        "coverage/css-coverage.json", | 
|  | 36 | +        JSON.stringify(cssCoverage, null, 2), | 
|  | 37 | +      ); | 
|  | 38 | +    } | 
|  | 39 | +  }); | 
| 4 | 40 |   test("should load without errors", async ({ page }) => { | 
| 5 | 41 |     await page.goto("/"); | 
| 6 | 42 | 
 | 
|  | 
0 commit comments