Skip to content

Commit

Permalink
fix test
Browse files Browse the repository at this point in the history
  • Loading branch information
adonesky1 committed Sep 18, 2023
1 parent 137da1a commit 1844af4
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 19 deletions.
47 changes: 30 additions & 17 deletions packages/gas-fee-controller/src/GasFeeController.test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import { ControllerMessenger } from '@metamask/base-controller';
import { NetworkType, toHex } from '@metamask/controller-utils';
import EthQuery from '@metamask/eth-query';
import { NetworkController } from '@metamask/network-controller';
import { NetworkController, NetworkStatus } from '@metamask/network-controller';
import type {
NetworkControllerGetEIP1559CompatibilityAction,
NetworkControllerGetNetworkClientByIdAction,
NetworkControllerGetStateAction,
NetworkControllerNetworkDidChangeEvent,
Expand Down Expand Up @@ -43,7 +44,8 @@ const name = 'GasFeeController';
type MainControllerMessenger = ControllerMessenger<
| GetGasFeeState
| NetworkControllerGetStateAction
| NetworkControllerGetNetworkClientByIdAction,
| NetworkControllerGetNetworkClientByIdAction
| NetworkControllerGetEIP1559CompatibilityAction,
| GasFeeStateChange
| NetworkControllerStateChangeEvent
| NetworkControllerNetworkDidChangeEvent
Expand All @@ -67,6 +69,7 @@ const setupNetworkController = async ({
allowedActions: [
'NetworkController:getState',
'NetworkController:getNetworkClientById',
'NetworkController:getEIP1559Compatibility',
],
allowedEvents: [
'NetworkController:stateChange',
Expand Down Expand Up @@ -98,6 +101,7 @@ const getRestrictedMessenger = (
allowedActions: [
'NetworkController:getState',
'NetworkController:getNetworkClientById',
'NetworkController:getEIP1559Compatibility',
],
allowedEvents: ['NetworkController:stateChange'],
});
Expand Down Expand Up @@ -874,51 +878,60 @@ describe('GasFeeController', () => {
legacyAPIEndpoint: 'https://some-legacy-endpoint/<chain_id>',
EIP1559APIEndpoint: 'https://some-eip-1559-endpoint/<chain_id>',
networkControllerState: {
providerConfig: {
type: NetworkType.rpc,
chainId: toHex(1337),
rpcUrl: 'http://some/url',
ticker: 'TEST',
networksMetadata: {
mainnet: {
EIPS: {
1559: true,
},
status: NetworkStatus.Available,
},
},
},
clientId: '99999',
});

await gasFeeController.executePoll('mainnet');

expect(mockedDetermineGasFeeCalculations).toHaveBeenCalledWith(
expect.objectContaining({
fetchGasEstimatesUrl: 'http://eip-1559.endpoint/1',
fetchGasEstimatesUrl: 'https://some-eip-1559-endpoint/1',
}),
);
});
});

describe('polling', () => {
it('should call determineGasFeeCalculations with a URL that contains the chain ID after polling interval', async () => {
jest.useFakeTimers();
await setupGasFeeController({
getIsEIP1559Compatible: jest.fn().mockResolvedValue(false),
getCurrentNetworkLegacyGasAPICompatibility: jest
.fn()
.mockReturnValue(true),
legacyAPIEndpoint: 'https://some-legacy-endpoint/<chain_id>',
EIP1559APIEndpoint: 'https://some-eip-1559-endpoint/<chain_id>',
networkControllerState: {
networksMetadata: {
goerli: {
EIPS: {
1559: true,
},
status: NetworkStatus.Available,
},
},
},
clientId: '99999',
});

gasFeeController.start('mainnet');
jest.advanceTimersByTime(1200);

console.log(JSON.stringify(gasFeeController.state, null, 4));
gasFeeController.start('goerli');
await clock.tickAsync(1500);

expect(mockedDetermineGasFeeCalculations).toHaveBeenCalledWith(
expect.objectContaining({
fetchGasEstimatesUrl: 'http://eip-1559.endpoint/1',
fetchGasEstimatesUrl: 'https://some-eip-1559-endpoint/5',
}),
);
expect(
gasFeeController.state.gasFeeEstimatesByChainId?.['0x1'],
).toBeDefined();
gasFeeController.state.gasFeeEstimatesByChainId?.['0x5'],
).toStrictEqual(buildMockGasFeeStateFeeMarket());
});
});
});
1 change: 0 additions & 1 deletion packages/gas-fee-controller/src/GasFeeController.ts
Original file line number Diff line number Diff line change
Expand Up @@ -411,7 +411,6 @@ export class GasFeeController extends GasFeeControllerPolling<
'NetworkController:getEIP1559Compatibility',
networkClientId,
);

isEIP1559Compatible = result || false;
} catch (e) {
console.error(e);
Expand Down
1 change: 0 additions & 1 deletion packages/gas-fee-controller/src/GasFeeControllerPolling.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@ export default abstract class GasFeeControllerPolling<
abstract executePoll(networkClientId: NetworkClientId): Promise<void>;

#poll(networkClientId: NetworkClientId) {
console.log('hit #poll');
if (this.intervalIds[networkClientId]) {
clearInterval(this.intervalIds[networkClientId]);
}
Expand Down

0 comments on commit 1844af4

Please sign in to comment.