"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const DollarToTokenTool_1 = require("../../src/tools/goatTools/DollarToTokenTool");
const tokenAddresses_json_1 = __importDefault(require("../data/tokenAddresses.json"));
const tokenAddresses = tokenAddresses_json_1.default;
describe("DollarToTokenAmountTool", () => {
    const dollarToTokenAmountTool = new DollarToTokenTool_1.DollarToTokenAmountTool();
    for (const chainIdStr of Object.keys(tokenAddresses)) {
        const chainId = parseInt(chainIdStr);
        let result;
        for (const symbol of Object.keys(tokenAddresses[chainIdStr])) {
            const tokenAddress = tokenAddresses[chainIdStr][symbol];
            it(`should return a token amount for $100 of ${symbol} on chain ${chainId}`, async () => {
                result = await dollarToTokenAmountTool.tool.execute({
                    tokenAddresses: tokenAddress,
                    chainId,
                    amount: 100
                });
                expect(typeof result).toBe("number");
                expect(result).toBeGreaterThan(0);
            });
        }
    }
});
