Skip to content

Commit

Permalink
Simplify TokenRatesController update test case (#1503)
Browse files Browse the repository at this point in the history
The `TokenRatesController` test case for updating token rates has been
simplifed by replacing controllers with stubs. The test was using a
real `PreferencesController`, `NetworkController`, and
`TokensController`.
  • Loading branch information
Gudahtt authored Jul 14, 2023
1 parent 0f43dcf commit 748baaa
Showing 1 changed file with 2 additions and 36 deletions.
38 changes: 2 additions & 36 deletions packages/assets-controllers/src/TokenRatesController.test.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,7 @@
import * as sinon from 'sinon';
import nock from 'nock';
import { PreferencesController } from '@metamask/preferences-controller';
import {
NetworkController,
NetworkControllerMessenger,
} from '@metamask/network-controller';
import { ControllerMessenger } from '@metamask/base-controller';
import { NetworksTicker, toHex } from '@metamask/controller-utils';
import { TokenRatesController } from './TokenRatesController';
import {
TokensController,
TokensControllerMessenger,
} from './TokensController';

const COINGECKO_API = 'https://api.coingecko.com/api/v3';
const COINGECKO_ETH_PATH = '/simple/token_price/ethereum';
Expand All @@ -29,7 +19,6 @@ describe('TokenRatesController', () => {
nock.enableNetConnect();
});

let messenger: NetworkControllerMessenger;
beforeEach(() => {
nock(COINGECKO_API)
.get(COINGECKO_SUPPORTED_CURRENCIES)
Expand All @@ -56,18 +45,11 @@ describe('TokenRatesController', () => {
},
])
.persist();

messenger = new ControllerMessenger().getRestricted({
name: 'NetworkController',
allowedEvents: ['NetworkController:stateChange'],
allowedActions: [],
});
});

afterEach(() => {
nock.cleanAll();
sinon.restore();
messenger.clearEventSubscriptions('NetworkController:stateChange');
});

it('should set default state', () => {
Expand Down Expand Up @@ -184,28 +166,12 @@ describe('TokenRatesController', () => {
'0x89d24a6b4ccb1b6faa2625fe562bdd9a23260359': { eth: 0.00561045 },
})
.persist();
new NetworkController({
infuraProjectId: 'infura-project-id',
messenger,
trackMetaMetricsEvent: jest.fn(),
});
const preferences = new PreferencesController();
const tokensController = new TokensController({
chainId: toHex(1),
onPreferencesStateChange: (listener) => preferences.subscribe(listener),
onNetworkStateChange: (listener) =>
messenger.subscribe('NetworkController:stateChange', listener),
onTokenListStateChange: sinon.stub(),
getERC20TokenName: sinon.stub(),
messenger: undefined as unknown as TokensControllerMessenger,
});
const controller = new TokenRatesController(
{
chainId: toHex(1),
ticker: NetworksTicker.mainnet,
onTokensStateChange: (listener) => tokensController.subscribe(listener),
onNetworkStateChange: (listener) =>
messenger.subscribe('NetworkController:stateChange', listener),
onTokensStateChange: sinon.stub(),
onNetworkStateChange: sinon.stub(),
},
{ interval: 10 },
);
Expand Down

0 comments on commit 748baaa

Please sign in to comment.