Skip to content

Commit

Permalink
Add test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
JayJay1024 committed May 20, 2024
1 parent 9689974 commit ef6e82b
Show file tree
Hide file tree
Showing 4 changed files with 71 additions and 0 deletions.
11 changes: 11 additions & 0 deletions src/__tests__/native-token.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import { describe, expect, it } from "vitest";
import { getChainConfigs } from "../utils";

describe.each(getChainConfigs(true).filter((c) => !!c.tokens.length))(
`Should configure native token`,
({ name, tokens }) => {
it(name, () => {
expect(tokens.some((t) => t.type === "native")).not.toBeFalsy();
});
},
);
19 changes: 19 additions & 0 deletions src/__tests__/target-chain.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { describe, expect, it } from "vitest";
import { getChainConfigs } from "../utils";

describe.each(getChainConfigs(true).filter((c) => !!c.tokens.length))(
`Test cross's target network: $network`,
({ network, tokens }) => {
describe.each(tokens)(`$symbol`, (token) => {
if (token.cross.length) {
it.each(token.cross)(`$target.network`, (cross) => {
expect(cross.target.network).not.toBe(network);
});
} else {
it("Cross is empty", () => {
expect(token.cross.length).toEqual(0);
});
}
});
},
);
21 changes: 21 additions & 0 deletions src/__tests__/target-token.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import { describe, expect, it } from "vitest";
import { getChainConfig, getChainConfigs } from "../utils";

describe.each(getChainConfigs(true).filter((c) => !!c.tokens.length))(
`Should configure target token`,
({ network, tokens }) => {
describe.each(tokens)(`Cross $symbol from ${network}`, (token) => {
if (token.cross.length) {
it.each(token.cross)(`to $target.network $target.symbol`, (cross) => {
expect(
getChainConfig(cross.target.network)?.tokens.find((t) => t.symbol === cross.target.symbol),
).not.toBeUndefined();
});
} else {
it("Cross is empty", () => {
expect(token.cross.length).toEqual(0);
});
}
});
},
);
20 changes: 20 additions & 0 deletions src/__tests__/token-decimals.spec.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { describe, expect, it } from "vitest";
import { getChainConfigs } from "../utils";
import { createPublicClient, http } from "viem";
import abi from "../abi/erc20";

describe.each(getChainConfigs(true).filter((c) => !!c.tokens.length && c.network !== "taiko"))(
`Test token's decimals: $name`,
({ tokens, ...chain }) => {
const publicClient = createPublicClient({ chain, transport: http() });

it.each(tokens)(`$symbol`, async (token) => {
if (token.type === "native") {
expect(token.decimals).toEqual(18);
} else {
const decimals = await publicClient.readContract({ address: token.address, abi, functionName: "decimals" });
expect(token.decimals).toEqual(decimals);
}
});
},
);

0 comments on commit ef6e82b

Please sign in to comment.