import network from "@ledgerhq/live-network"; import { postSwapAccepted, postSwapCancelled } from "./postSwapState"; jest.mock("@ledgerhq/live-network", () => ({ __esModule: true, default: jest.fn().mockResolvedValue({}), })); jest.mock("./utils/isIntegrationTestEnv", () => ({ isIntegrationTestEnv: () => false, })); const mockedNetwork = jest.mocked(network); describe("postSwapState wallet40 header", () => { beforeEach(() => { jest.clearAllMocks(); }); it("adds x-ledger-client-v4-ux=true when wallet40Ux flag is true", async () => { await postSwapAccepted({ provider: "changelly", swapId: "swap-id", transactionId: "tx-id", flags: { wallet40Ux: true }, }); const request = mockedNetwork.mock.calls[0][0] as { headers?: Record }; expect(request.headers?.["x-ledger-client-v4-ux"]).toBe("true"); }); it("adds x-ledger-client-v4-ux=true for cancelled call when wallet40Ux flag is true", async () => { await postSwapCancelled({ provider: "changelly", swapId: "swap-id", swapAppVersion: "4.0.0", flags: { wallet40Ux: true }, }); const request = mockedNetwork.mock.calls[0][0] as { headers?: Record }; expect(request.headers?.["x-ledger-client-v4-ux"]).toBe("true"); expect(request.headers?.["x-swap-app-version"]).toBe("4.0.0"); }); it("does not add x-ledger-client-v4-ux when wallet40Ux flag is missing", async () => { await postSwapAccepted({ provider: "changelly", swapId: "swap-id", transactionId: "tx-id", }); const request = mockedNetwork.mock.calls[0][0] as { headers?: Record }; expect(request.headers?.["x-ledger-client-v4-ux"]).toBeUndefined(); }); it("does not add x-ledger-client-v4-ux when wallet40Ux flag is false", async () => { await postSwapAccepted({ provider: "changelly", swapId: "swap-id", transactionId: "tx-id", flags: { wallet40Ux: false }, }); const request = mockedNetwork.mock.calls[0][0] as { headers?: Record }; expect(request.headers?.["x-ledger-client-v4-ux"]).toBeUndefined(); }); });