42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
/**
|
|
* Lit-component test runner for the panel UI.
|
|
*
|
|
* Runs in real Chromium (headless) but mounts components in isolation
|
|
* with mocked hass — no HA shell, no shadow-DOM-deep-piercing nightmares.
|
|
* Each test is ~10-50ms, the whole suite runs in seconds.
|
|
*
|
|
* npm test — one-shot
|
|
* npm run test:watch — watch mode
|
|
*/
|
|
|
|
import { esbuildPlugin } from "@web/dev-server-esbuild";
|
|
import { playwrightLauncher } from "@web/test-runner-playwright";
|
|
import { defaultReporter, summaryReporter } from "@web/test-runner";
|
|
|
|
export default {
|
|
files: "__tests__/**/*.test.ts",
|
|
nodeResolve: true,
|
|
plugins: [
|
|
esbuildPlugin({
|
|
ts: true,
|
|
json: true,
|
|
target: "es2020",
|
|
tsconfig: "./tsconfig.json",
|
|
}),
|
|
],
|
|
browsers: [
|
|
playwrightLauncher({
|
|
product: "chromium",
|
|
// Channel-less; uses bundled chromium from playwright cache.
|
|
}),
|
|
],
|
|
testFramework: {
|
|
config: { ui: "bdd", timeout: "5000" },
|
|
},
|
|
coverage: false,
|
|
reporters: [
|
|
summaryReporter(),
|
|
defaultReporter({ reportTestResults: true, reportTestProgress: true }),
|
|
],
|
|
};
|