From 6de5ea491d99a1665406f779e5c6f269370d9b00 Mon Sep 17 00:00:00 2001 From: IF <139582705+infiniteflower@users.noreply.github.com> Date: Wed, 9 Oct 2024 13:39:08 -0400 Subject: [PATCH] chore: add tests for bridge controller --- .../bridge/bridge-controller.test.ts | 33 ++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/app/scripts/controllers/bridge/bridge-controller.test.ts b/app/scripts/controllers/bridge/bridge-controller.test.ts index e5a28ed2f0bd..d8dd115550aa 100644 --- a/app/scripts/controllers/bridge/bridge-controller.test.ts +++ b/app/scripts/controllers/bridge/bridge-controller.test.ts @@ -1,3 +1,4 @@ +import { Provider } from '@metamask/network-controller'; import nock from 'nock'; import { BRIDGE_API_BASE_URL } from '../../../../shared/constants/bridge'; import { CHAIN_IDS } from '../../../../shared/constants/network'; @@ -17,11 +18,30 @@ const messengerMock = { publish: jest.fn(), } as unknown as jest.Mocked; +const providerMock = {} as Provider; + +jest.mock('@ethersproject/contracts', () => { + return { + Contract: jest.fn(() => ({ + allowance: jest.fn(() => '100000000000000000000'), + })), + }; +}); + +jest.mock('@ethersproject/providers', () => { + return { + Web3Provider: jest.fn(), + }; +}); + describe('BridgeController', function () { let bridgeController: BridgeController; beforeAll(function () { - bridgeController = new BridgeController({ messenger: messengerMock }); + bridgeController = new BridgeController({ + messenger: messengerMock, + provider: providerMock, + }); }); beforeEach(() => { @@ -143,4 +163,15 @@ describe('BridgeController', function () { }, ]); }); + + describe('getBridgeERC20Allowance', () => { + it('should return the atomic allowance of the ERC20 token contract', async () => { + const allowance = await bridgeController.getBridgeERC20Allowance( + '0x1f9840a85d5af5bf1d1762f925bdaddc4201f984', + '0x0000000000000000000000000000000000000000', + '0xa', + ); + expect(allowance).toBe('100000000000000000000'); + }); + }); });