From 23743be51a51ad7d3e3ce7bcfcc85e3d271e146c Mon Sep 17 00:00:00 2001 From: legobeat <109787230+legobeat@users.noreply.github.com> Date: Tue, 11 Jun 2024 03:05:46 +0900 Subject: [PATCH] testfix(transaction-controller): Refactor provider setup to provide correct providers and tracker (#4391) --- .../src/TransactionController.test.ts | 46 ++++++++++--------- .../helpers/MultichainTrackingHelper.test.ts | 10 ++++ 2 files changed, 34 insertions(+), 22 deletions(-) diff --git a/packages/transaction-controller/src/TransactionController.test.ts b/packages/transaction-controller/src/TransactionController.test.ts index 6809b930d6..c4bab3a58e 100644 --- a/packages/transaction-controller/src/TransactionController.test.ts +++ b/packages/transaction-controller/src/TransactionController.test.ts @@ -298,16 +298,18 @@ function waitForTransactionFinished( } const MOCK_PREFERENCES = { state: { selectedAddress: 'foo' } }; -const INFURA_PROJECT_ID = '341eacb578dd44a1a049cbc5f6fd4035'; -const GOERLI_PROVIDER = new HttpProvider( - `https://goerli.infura.io/v3/${INFURA_PROJECT_ID}`, -); -const MAINNET_PROVIDER = new HttpProvider( - `https://mainnet.infura.io/v3/${INFURA_PROJECT_ID}`, -); -const PALM_PROVIDER = new HttpProvider( - `https://palm-mainnet.infura.io/v3/${INFURA_PROJECT_ID}`, -); +const INFURA_PROJECT_ID = 'testinfuraid'; +const HTTP_PROVIDERS = { + goerli: new HttpProvider('https://goerli.infura.io/v3/goerli-pid'), + // TODO: Investigate and address why tests break when mainet has a different INFURA_PROJECT_ID + mainnet: new HttpProvider( + `https://mainnet.infura.io/v3/${INFURA_PROJECT_ID}`, + ), + linea: new HttpProvider('https://linea.infura.io/v3/linea-pid'), + lineaGoerli: new HttpProvider('https://linea-g.infura.io/v3/linea-g-pid'), + custom: new HttpProvider(`http://127.0.0.123:456/ethrpc?apiKey=foobar`), + palm: new HttpProvider('https://palm-mainnet.infura.io/v3/palm-pid'), +}; type MockNetwork = { provider: Provider; @@ -317,8 +319,8 @@ type MockNetwork = { }; const MOCK_NETWORK: MockNetwork = { - provider: MAINNET_PROVIDER, - blockTracker: buildMockBlockTracker('0x102833C', MAINNET_PROVIDER), + provider: HTTP_PROVIDERS.goerli, + blockTracker: buildMockBlockTracker('0x102833C', HTTP_PROVIDERS.goerli), state: { selectedNetworkClientId: NetworkType.goerli, networksMetadata: { @@ -337,8 +339,8 @@ const MOCK_NETWORK: MockNetwork = { subscribe: () => undefined, }; const MOCK_NETWORK_WITHOUT_CHAIN_ID: MockNetwork = { - provider: GOERLI_PROVIDER, - blockTracker: buildMockBlockTracker('0x102833C', GOERLI_PROVIDER), + provider: HTTP_PROVIDERS.goerli, + blockTracker: buildMockBlockTracker('0x102833C', HTTP_PROVIDERS.goerli), state: { selectedNetworkClientId: NetworkType.goerli, networksMetadata: { @@ -355,8 +357,8 @@ const MOCK_NETWORK_WITHOUT_CHAIN_ID: MockNetwork = { subscribe: () => undefined, }; const MOCK_MAINNET_NETWORK: MockNetwork = { - provider: MAINNET_PROVIDER, - blockTracker: buildMockBlockTracker('0x102833C', MAINNET_PROVIDER), + provider: HTTP_PROVIDERS.mainnet, + blockTracker: buildMockBlockTracker('0x102833C', HTTP_PROVIDERS.mainnet), state: { selectedNetworkClientId: NetworkType.mainnet, networksMetadata: { @@ -376,8 +378,8 @@ const MOCK_MAINNET_NETWORK: MockNetwork = { }; const MOCK_LINEA_MAINNET_NETWORK: MockNetwork = { - provider: PALM_PROVIDER, - blockTracker: buildMockBlockTracker('0xA6EDFC', PALM_PROVIDER), + provider: HTTP_PROVIDERS.linea, + blockTracker: buildMockBlockTracker('0xA6EDFC', HTTP_PROVIDERS.linea), state: { selectedNetworkClientId: NetworkType['linea-mainnet'], networksMetadata: { @@ -397,8 +399,8 @@ const MOCK_LINEA_MAINNET_NETWORK: MockNetwork = { }; const MOCK_LINEA_GOERLI_NETWORK: MockNetwork = { - provider: PALM_PROVIDER, - blockTracker: buildMockBlockTracker('0xA6EDFC', PALM_PROVIDER), + provider: HTTP_PROVIDERS.lineaGoerli, + blockTracker: buildMockBlockTracker('0xA6EDFC', HTTP_PROVIDERS.lineaGoerli), state: { selectedNetworkClientId: NetworkType['linea-goerli'], networksMetadata: { @@ -418,8 +420,8 @@ const MOCK_LINEA_GOERLI_NETWORK: MockNetwork = { }; const MOCK_CUSTOM_NETWORK: MockNetwork = { - provider: PALM_PROVIDER, - blockTracker: buildMockBlockTracker('0xA6EDFC', PALM_PROVIDER), + provider: HTTP_PROVIDERS.palm, + blockTracker: buildMockBlockTracker('0xA6EDFC', HTTP_PROVIDERS.palm), state: { selectedNetworkClientId: 'uuid-1', networksMetadata: { diff --git a/packages/transaction-controller/src/helpers/MultichainTrackingHelper.test.ts b/packages/transaction-controller/src/helpers/MultichainTrackingHelper.test.ts index 5a03b5c55f..a2ac2293cf 100644 --- a/packages/transaction-controller/src/helpers/MultichainTrackingHelper.test.ts +++ b/packages/transaction-controller/src/helpers/MultichainTrackingHelper.test.ts @@ -220,6 +220,16 @@ function newMultichainTrackingHelper( describe('MultichainTrackingHelper', () => { beforeEach(() => { jest.resetAllMocks(); + + for (const network of [ + 'mainnet', + 'goerli', + 'sepolia', + 'customNetworkClientId-1', + ] as const) { + MOCK_BLOCK_TRACKERS[network] = buildMockBlockTracker(network); + MOCK_PROVIDERS[network] = buildMockProvider(network); + } }); describe('onNetworkStateChange', () => {