import { beforeEach, describe, expect, it, vi } from "vitest" ;
const loadActivatedBundledPluginPublicSurfaceModuleSync = vi.hoisted(() => vi.fn());
vi.mock("./facade-runtime.js" , () => ({
loadActivatedBundledPluginPublicSurfaceModuleSync,
}));
describe("browser node-host facade" , () => {
beforeEach(() => {
loadActivatedBundledPluginPublicSurfaceModuleSync.mockReset();
});
it("stays cold until the proxy command is called" , async () => {
await import ("./browser-node-host.js" );
expect(loadActivatedBundledPluginPublicSurfaceModuleSync).not.toHaveBeenCalled();
});
it("delegates the proxy command through the activated runtime facade" , async () => {
const runBrowserProxyCommand = vi.fn(async () => '{"ok":true}' );
loadActivatedBundledPluginPublicSurfaceModuleSync.mockReturnValue({
runBrowserProxyCommand,
});
const facade = await import ("./browser-node-host.js" );
await expect(facade.runBrowserProxyCommand('{"path":"/"}' )).resolves.toBe('{"ok":true}' );
expect(loadActivatedBundledPluginPublicSurfaceModuleSync).toHaveBeenCalledWith({
dirName: "browser" ,
artifactBasename: "runtime-api.js" ,
});
expect(runBrowserProxyCommand).toHaveBeenCalledWith('{"path":"/"}' );
});
});
Messung V0.5 in Prozent C=100 H=99 G=99
¤ Dauer der Verarbeitung: 0.2 Sekunden
¤
*© Formatika GbR, Deutschland