@ledgerhq/coin-cardano
Version:
Ledger Cardano Coin integration
50 lines • 2 kB
JavaScript
import BigNumber from "bignumber.js";
import { canStake, isAlreadyStaking, isValidNumString } from "./logic";
describe("canStake", () => {
it("should return false when acc has no funds", () => {
const accWithNoFunds = {
balance: new BigNumber(0),
};
expect(canStake(accWithNoFunds)).toEqual(false);
});
it("should return true when acc has funds", () => {
const accWithFunds = {
balance: new BigNumber(1),
};
expect(canStake(accWithFunds)).toEqual(true);
});
});
describe("isAlreadyStaking", () => {
it("should return false when acc isn't delegating", () => {
const noResourcesAcc = {};
expect(isAlreadyStaking(noResourcesAcc)).toEqual(false);
const noDelegationAcc = {
cardanoResources: {},
};
expect(isAlreadyStaking(noDelegationAcc)).toEqual(false);
const noPoolIdAcc = { cardanoResources: { delegation: {} } };
expect(isAlreadyStaking(noPoolIdAcc)).toEqual(false);
});
it("should return true when acc is delegating", () => {
const noResourcesAcc = {
cardanoResources: { delegation: { poolId: "itspoolid" } },
};
expect(isAlreadyStaking(noResourcesAcc)).toEqual(true);
});
});
describe("isValidNumString", () => {
it("should return false for invalid number", () => {
expect(isValidNumString("")).toEqual(false);
expect(isValidNumString(undefined)).toEqual(false);
expect(isValidNumString(null)).toEqual(false);
expect(isValidNumString({})).toEqual(false);
expect(isValidNumString([])).toEqual(false);
});
it("should return true for valid number", () => {
expect(isValidNumString(123)).toEqual(true);
expect(isValidNumString(123.321)).toEqual(true);
expect(isValidNumString("123")).toEqual(true);
expect(isValidNumString("123.321")).toEqual(true);
});
});
//# sourceMappingURL=logic.unit.test.js.map