@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
52 lines (45 loc) • 1.45 kB
text/typescript
import { listAppsUseCase } from "./listAppsUseCase";
import Transport from "@ledgerhq/hw-transport";
import { DeviceInfo } from "@ledgerhq/types-live";
import { HttpManagerApiRepository } from "@ledgerhq/device-core";
import * as listAppsModule from "../../apps/listApps";
jest.mock("../../apps/listApps", () => ({
...jest.requireActual("../../apps/listApps"),
listApps: jest.fn(),
}));
jest.mock("@ledgerhq/live-env", () => {
const actual = jest.requireActual("@ledgerhq/live-env");
const { getEnv } = actual;
return {
...actual,
getEnv: jest.fn().mockImplementation((key: string) => {
switch (key) {
case "DEVICE_PROXY_MODEL":
return "mockDeviceProxyModel";
case "FORCE_PROVIDER":
return 123;
case "MANAGER_DEV_MODE":
return false;
default:
return getEnv(key);
}
}),
};
});
describe("listAppsUseCase", () => {
const mockedListApps = jest.mocked(listAppsModule.listApps);
beforeEach(() => {
jest.clearAllMocks();
});
it("should call listApps with the correct parameters", () => {
listAppsUseCase({} as Transport, {} as DeviceInfo);
expect(mockedListApps).toHaveBeenCalledWith({
transport: {},
deviceInfo: {},
deviceProxyModel: "mockDeviceProxyModel",
managerApiRepository: expect.any(HttpManagerApiRepository),
forceProvider: 123,
managerDevModeEnabled: false,
});
});
});