test: Add a test harness for the built card (#2653)

Mounts the card from `dist/` the way Home Assistant does, by URL with a
HACS tag, and asserts the entry stays a facade, that no chunk imports
it, that the browser is served the file unmodified, and that the card
starts up and fetches a language chunk lazily.

Runs in Chromium, Firefox and WebKit, so a change of bundler or minifier
is checked against every engine.
This commit is contained in:
Dermot Duffy
2026-08-03 21:50:21 -07:00
committed by GitHub
parent 18ea725564
commit 2d124fe3cd
18 changed files with 483 additions and 50 deletions
+4
View File
@@ -96,6 +96,9 @@ export interface StillCameraHASSOptions {
// Anything else the card should be able to see, as entity ID to state.
entities?: Record<string, FakeEntityOptions | string>;
// The language Home Assistant is set to for translation tests.
language?: string;
}
/**
@@ -111,6 +114,7 @@ export const createStillCameraHASS = (options?: StillCameraHASSOptions): FakeHAS
...options?.entities,
},
registry: Object.fromEntries(cameras.map((camera) => [camera, {}])),
...(options?.language && { language: options.language }),
});
};