import { EnvironmentId } from "@t3tools/contracts";import { beforeEach, describe, expect, it, vi } from "vite-plus/test"; import { reactHookHarness as hooks } from "../../test/reactHookHarness"; const settingsHooks = vi.hoisted(() => ({ read: vi.fn(() => ({ providerInstances: {} })), update: vi.fn(() => vi.fn()),})); vi.mock("react", async (importOriginal) => { const actual = await importOriginal<typeof import("react")>(); const { reactHookHarness } = await import("../../test/reactHookHarness"); return { ...actual, useMemo: reactHookHarness.useMemo, useState: reactHookHarness.useState, };}); vi.mock("react/compiler-runtime", async () => { const { reactHookHarness } = await import("../../test/reactHookHarness"); return { c: reactHookHarness.useMemoCache };}); vi.mock("../../hooks/useSettings", () => ({ useEnvironmentSettings: settingsHooks.read, useUpdateEnvironmentSettings: settingsHooks.update,})); import { AddProviderInstanceDialog } from "./AddProviderInstanceDialog"; const remoteEnvironmentId = EnvironmentId.make("remote-device"); describe("AddProviderInstanceDialog environment routing", () => { beforeEach(() => { hooks.reset(); settingsHooks.read.mockClear(); settingsHooks.update.mockClear(); }); it("reads and writes settings through the supplied environment", () => { hooks.beginRender(); AddProviderInstanceDialog({ open: true, environmentId: remoteEnvironmentId, environmentLabel: "Remote device", onOpenChange: vi.fn(), }); expect(settingsHooks.read).toHaveBeenCalledWith(remoteEnvironmentId); expect(settingsHooks.update).toHaveBeenCalledWith(remoteEnvironmentId); });});
import { EnvironmentId } from "@t3tools/contracts";
import { beforeEach, describe, expect, it, vi } from "vite-plus/test";
import { reactHookHarness as hooks } from "../../test/reactHookHarness";
const settingsHooks = vi.hoisted(() => ({
read: vi.fn(() => ({ providerInstances: {} })),
update: vi.fn(() => vi.fn()),
}));
vi.mock("react", async (importOriginal) => {
const actual = await importOriginal<typeof import("react")>();
const { reactHookHarness } = await import("../../test/reactHookHarness");
return {
...actual,
useMemo: reactHookHarness.useMemo,
useState: reactHookHarness.useState,
};
});
vi.mock("react/compiler-runtime", async () => {
const { reactHookHarness } = await import("../../test/reactHookHarness");
return { c: reactHookHarness.useMemoCache };
});
vi.mock("../../hooks/useSettings", () => ({
useEnvironmentSettings: settingsHooks.read,
useUpdateEnvironmentSettings: settingsHooks.update,
}));
import { AddProviderInstanceDialog } from "./AddProviderInstanceDialog";
const remoteEnvironmentId = EnvironmentId.make("remote-device");
describe("AddProviderInstanceDialog environment routing", () => {
beforeEach(() => {
hooks.reset();
settingsHooks.read.mockClear();
settingsHooks.update.mockClear();
});
it("reads and writes settings through the supplied environment", () => {
hooks.beginRender();
AddProviderInstanceDialog({
open: true,
environmentId: remoteEnvironmentId,
environmentLabel: "Remote device",
onOpenChange: vi.fn(),
});
expect(settingsHooks.read).toHaveBeenCalledWith(remoteEnvironmentId);
expect(settingsHooks.update).toHaveBeenCalledWith(remoteEnvironmentId);
});
});