import { describe, expect, it } from "vitest"; import { TEST_CONTRACT_URI } from "~test/ipfs-uris.js"; import { render } from "~test/react-render.js"; import { TEST_CLIENT } from "~test/test-clients.js"; import { ChainIcon, getSrcChainIcon } from "./ChainIcon.js"; import { fallbackChainIcon } from "./fallbackChainIcon.js"; const client = TEST_CLIENT; describe.runIf(process.env.TW_SECRET_KEY)("ChainIcon-legacy", () => { it("getSrcChainIcon should return fallbackChainIcon if chainIconUrl does not exist", () => { expect(getSrcChainIcon({ client })).toBe(fallbackChainIcon); }); it("getSrcChainIcon should return the resolved url", () => { const resolvedUrl = getSrcChainIcon({ chainIconUrl: TEST_CONTRACT_URI, client, }); expect(resolvedUrl.startsWith("https://")).toBe(true); }); it("getSrcChainIcon should return the fallbackChainIcon if fails to resolve", () => { expect(getSrcChainIcon({ chainIconUrl: "test", client })).toBe( fallbackChainIcon, ); }); it("should render an image", () => { const { container } = render( , ); const image = container.querySelector("img"); expect(image).toBeTruthy(); expect( image?.src.includes("QmcxZHpyJa8T4i63xqjPYrZ6tKrt55tZJpbXcjSDKuKaf9"), ).toBe(true); }); it("should render ChainActiveDot if the `active` prop is set to true", () => { const { container } = render( , ); const activeDot = container.querySelector( ".tw-chain-active-dot-legacy-chain-icon", ); expect(activeDot).toBeTruthy(); }); });