UNPKG

@phiresky/eth-scan

Version:

An efficient Ether and token balance scanner

3 lines 2.13 kB
"use strict";var _constants=require("../constants"),_eip=_interopRequireDefault(require("./eip-1193")),_ethers=_interopRequireDefault(require("./ethers")),_http=_interopRequireDefault(require("./http")),_provider=require("./provider"),_web=_interopRequireDefault(require("./web3"));function _interopRequireDefault(a){return a&&a.__esModule?a:{default:a}}jest.mock("./eip-1193",()=>({isProvider:jest.fn(),send:jest.fn().mockImplementation(async()=>"0x00")})),jest.mock("./ethers",()=>({isProvider:jest.fn(),send:jest.fn().mockImplementation(async()=>"0x00")})),jest.mock("./http",()=>({isProvider:jest.fn(),send:jest.fn().mockImplementation(async()=>"0x00")})),jest.mock("./web3",()=>({isProvider:jest.fn(),send:jest.fn().mockImplementation(async()=>"0x00")})),describe("send",()=>{it("calls the correct provider",async()=>{_eip.default.isProvider.mockImplementationOnce(()=>!0),await(0,_provider.send)("foo","eth_call",[{to:_constants.CONTRACT_ADDRESS,data:"0x"}]),_ethers.default.isProvider.mockImplementationOnce(()=>!0),await(0,_provider.send)("foo","eth_call",[{to:_constants.CONTRACT_ADDRESS,data:"0x"}]),_http.default.isProvider.mockImplementationOnce(()=>!0),await(0,_provider.send)("foo","eth_call",[{to:_constants.CONTRACT_ADDRESS,data:"0x"}]),_web.default.isProvider.mockImplementationOnce(()=>!0),await(0,_provider.send)("foo","eth_call",[{to:_constants.CONTRACT_ADDRESS,data:"0x"}]),expect(_eip.default.send).toHaveBeenCalledTimes(1),expect(_ethers.default.send).toHaveBeenCalledTimes(1),expect(_http.default.send).toHaveBeenCalledTimes(1),expect(_web.default.send).toHaveBeenCalledTimes(1)}),it("throws for invalid providers",async()=>{// @ts-expect-error Invalid provider type await expect(()=>(0,_provider.send)({},_constants.CONTRACT_ADDRESS,"0x")).rejects.toThrow("Invalid provider type")})}),describe("call",()=>{it("throws if a call reverts",async()=>{_ethers.default.isProvider.mockImplementationOnce(()=>!0),_ethers.default.send.mockImplementationOnce(async()=>"08c379a"),await expect((0,_provider.call)("foo",_constants.CONTRACT_ADDRESS,"0x")).rejects.toThrow()})}); //# sourceMappingURL=provider.test.js.map