@ledgerhq/coin-hedera
Version:
Ledger Hedera Coin integration
65 lines (58 loc) • 1.6 kB
text/typescript
import { getCryptoCurrencyById } from "@ledgerhq/cryptoassets";
import BigNumber from "bignumber.js";
import { hydrate } from "./preload";
import { setHederaPreloadData } from "./preload-data";
jest.mock("./preload-data", () => ({
setHederaPreloadData: jest.fn(),
}));
describe("hydrate", () => {
const currency = getCryptoCurrencyById("hedera");
beforeEach(() => {
jest.clearAllMocks();
});
test.each([undefined, null, {}, []])(
"should hydrate empty validators list if data is corrupted (%p value)",
value => {
hydrate(value, currency);
expect(setHederaPreloadData).toHaveBeenCalledWith({ validators: [] }, currency);
},
);
it("should hydrate valid validators list", () => {
hydrate(
{
validators: [
{
nodeId: 1,
address: "0.0.1",
addressChecksum: "abcde",
name: "Ledger",
minStake: "1",
maxStake: "10",
activeStake: "5",
activeStakePercentage: "50",
overstaked: false,
},
],
},
currency,
);
expect(setHederaPreloadData).toHaveBeenCalledWith(
{
validators: [
{
nodeId: 1,
address: "0.0.1",
addressChecksum: "abcde",
name: "Ledger",
minStake: new BigNumber(1),
maxStake: new BigNumber(10),
activeStake: new BigNumber(5),
activeStakePercentage: new BigNumber(50),
overstaked: false,
},
],
},
currency,
);
});
});