@ledgerhq/live-common
Version:
Common ground for the Ledger Live apps
68 lines (55 loc) • 2.18 kB
text/typescript
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<string, string> };
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<string, string> };
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<string, string> };
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<string, string> };
expect(request.headers?.["x-ledger-client-v4-ux"]).toBeUndefined();
});
});