From 6dd2c8d1d706cebec899d06f6771c93ffb3e6927 Mon Sep 17 00:00:00 2001 From: Brian Bergeron Date: Thu, 30 May 2024 19:08:30 -0700 Subject: [PATCH] fix unit tests --- app/scripts/background.js | 3 +-- test/data/mock-state.json | 6 ------ test/e2e/default-fixture.js | 3 --- .../errors-after-init-opt-in-ui-state.json | 1 - test/e2e/tests/swap-send/swap-send-test-utils.ts | 3 +++ .../currency-input/hooks/useTokenExchangeRate.test.tsx | 5 +---- ui/components/app/wallet-overview/eth-overview.test.js | 1 - ui/components/app/wallet-overview/token-overview.test.js | 1 - .../asset-picker-amount/asset-picker-amount.stories.tsx | 9 ++++++--- .../asset-picker/asset-picker.test.tsx | 4 ---- .../swappable-currency-input.test.tsx | 8 ++++++-- ui/hooks/useAccountTotalFiatBalance.test.js | 8 +++++--- 12 files changed, 22 insertions(+), 30 deletions(-) diff --git a/app/scripts/background.js b/app/scripts/background.js index f08ce99e8f72..1fde714275cd 100644 --- a/app/scripts/background.js +++ b/app/scripts/background.js @@ -232,8 +232,7 @@ function saveTimestamp() { * @property {object} identities - An object matching lower-case hex addresses to Identity objects with "address" and "name" (nickname) keys. * @property {object} networkConfigurations - A list of network configurations, containing RPC provider details (eg chainId, rpcUrl, rpcPreferences). * @property {Array} addressBook - A list of previously sent to addresses. - * @property {object} contractExchangeRatesByChainId - Info about current token prices keyed by chainId. - * @property {object} contractExchangeRates - Info about current token prices on current chain. + * @property {object} marketData - A map from chain ID -> contract address -> an object containing the token's market data. * @property {Array} tokens - Tokens held by the current user, including their balances. * @property {object} send - TODO: Document * @property {boolean} useBlockie - Indicates preferred user identicon format. True for blockie, false for Jazzicon. diff --git a/test/data/mock-state.json b/test/data/mock-state.json index 48ff3c238f3b..0c2980cb6901 100644 --- a/test/data/mock-state.json +++ b/test/data/mock-state.json @@ -687,12 +687,6 @@ "decimals": "18" } ], - "contractExchangeRates": { - "0x108cf70c7d384c552f42c07c41c0e1e46d77ea0d": 0.00039345803819379796, - "0xd8f6a2ffb0fc5952d16c9768b71cfd35b6399aa5": 0.00008189274407698049, - "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599": 0.0017123, - "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48": 0.0000000018 - }, "marketData": { "0x89": { "0x108cf70c7d384c552f42c07c41c0e1e46d77ea0d": { diff --git a/test/e2e/default-fixture.js b/test/e2e/default-fixture.js index eb6c6ea7f4a4..304d34059077 100644 --- a/test/e2e/default-fixture.js +++ b/test/e2e/default-fixture.js @@ -233,9 +233,6 @@ function defaultFixture(inputChainId = CHAIN_IDS.LOCALHOST) { ignoredTokens: [], tokens: [], }, - // TokenRatesController: { - // contractExchangeRates: {}, - // }, TransactionController: { transactions: {}, }, diff --git a/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json b/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json index de915f0265ef..b9d7eec91408 100644 --- a/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json +++ b/test/e2e/tests/metrics/state-snapshots/errors-after-init-opt-in-ui-state.json @@ -203,7 +203,6 @@ "fcmToken": "string", "accounts": "object", "accountsByChainId": "object", - "contractExchangeRatesByChainId": "object", "unapprovedDecryptMsgs": "object", "unapprovedDecryptMsgCount": 0, "unapprovedEncryptionPublicKeyMsgs": "object", diff --git a/test/e2e/tests/swap-send/swap-send-test-utils.ts b/test/e2e/tests/swap-send/swap-send-test-utils.ts index 9818b1ffa604..4613b3f013c8 100644 --- a/test/e2e/tests/swap-send/swap-send-test-utils.ts +++ b/test/e2e/tests/swap-send/swap-send-test-utils.ts @@ -258,6 +258,9 @@ export const getSwapSendFixtures = ( }, }) // TODO fix TST exchange rate (not visible atm) + // Note: The token rates controller has deprecated `contractExchangeRates` in favor of + // a new `marketData` structure. See https://github.com/MetaMask/core/pull/4206 + // // .withTokenRatesController({ // contractExchangeRates: { // '0x581c3C1A2A4EBDE2A0Df29B5cf4c116E42945947': diff --git a/ui/components/app/currency-input/hooks/useTokenExchangeRate.test.tsx b/ui/components/app/currency-input/hooks/useTokenExchangeRate.test.tsx index 9e11e592c85c..2ea93ab870e3 100644 --- a/ui/components/app/currency-input/hooks/useTokenExchangeRate.test.tsx +++ b/ui/components/app/currency-input/hooks/useTokenExchangeRate.test.tsx @@ -21,14 +21,11 @@ const renderUseTokenExchangeRate = ( }, }, marketData: { - '0x89': { + '0x5': { '0xdAC17F958D2ee523a2206206994597C13D831ec7': { value: 0.5 }, '0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e': { value: 3.304588 }, }, }, - providerConfig: { - ticker: 'ETH', - }, ...metaMaskState, }, }; diff --git a/ui/components/app/wallet-overview/eth-overview.test.js b/ui/components/app/wallet-overview/eth-overview.test.js index a17ee3cc499d..241b9bb10872 100644 --- a/ui/components/app/wallet-overview/eth-overview.test.js +++ b/ui/components/app/wallet-overview/eth-overview.test.js @@ -128,7 +128,6 @@ describe('EthOverview', () => { accounts: [], }, ], - contractExchangeRates: {}, }, }; diff --git a/ui/components/app/wallet-overview/token-overview.test.js b/ui/components/app/wallet-overview/token-overview.test.js index d852a58a9b7c..ec826ef3856e 100644 --- a/ui/components/app/wallet-overview/token-overview.test.js +++ b/ui/components/app/wallet-overview/token-overview.test.js @@ -65,7 +65,6 @@ describe('TokenOverview', () => { accounts: [], }, ], - contractExchangeRates: {}, mmiConfiguration: { portfolio: { enabled: true, diff --git a/ui/components/multichain/asset-picker-amount/asset-picker-amount.stories.tsx b/ui/components/multichain/asset-picker-amount/asset-picker-amount.stories.tsx index 878739d6ea63..d28d08328f6e 100644 --- a/ui/components/multichain/asset-picker-amount/asset-picker-amount.stories.tsx +++ b/ui/components/multichain/asset-picker-amount/asset-picker-amount.stories.tsx @@ -25,9 +25,12 @@ const store = configureStore({ conversionRate: 231.06, }, }, - contractExchangeRates: { - ...mockState.metamask.contractExchangeRates, - '0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e': 0.01, + marketData: { + ...mockState.metamask.marketData, + '0x1': { + ...mockState.metamask.marketData['0x1'], + '0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e': { value: 0.01 } + } }, tokens: [ { diff --git a/ui/components/multichain/asset-picker-amount/asset-picker/asset-picker.test.tsx b/ui/components/multichain/asset-picker-amount/asset-picker/asset-picker.test.tsx index dde1178bf5ab..08864f10edf8 100644 --- a/ui/components/multichain/asset-picker-amount/asset-picker/asset-picker.test.tsx +++ b/ui/components/multichain/asset-picker-amount/asset-picker/asset-picker.test.tsx @@ -11,9 +11,6 @@ const store = ( // TODO: Replace `any` with type // eslint-disable-next-line @typescript-eslint/no-explicit-any tokenList = {} as any, - // TODO: Replace `any` with type - // eslint-disable-next-line @typescript-eslint/no-explicit-any - contractExchangeRates = {} as any, ) => configureStore({ ...mockSendState, @@ -24,7 +21,6 @@ const store = ( conversionRate: 11.1, }, }, - contractExchangeRates, providerConfig: { chainId: '0x1', ticker: nativeTicker, diff --git a/ui/components/multichain/asset-picker-amount/swappable-currency-input/swappable-currency-input.test.tsx b/ui/components/multichain/asset-picker-amount/swappable-currency-input/swappable-currency-input.test.tsx index d9f2055dc48a..98f68567bfba 100644 --- a/ui/components/multichain/asset-picker-amount/swappable-currency-input/swappable-currency-input.test.tsx +++ b/ui/components/multichain/asset-picker-amount/swappable-currency-input/swappable-currency-input.test.tsx @@ -15,8 +15,12 @@ const createStore = ({ metamask: { ...mockSendState.metamask, preferences: { useNativeCurrencyAsPrimaryCurrency }, - contractExchangeRates: { - '0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e': 2, + marketData: { + ...mockSendState.metamask.marketData, + '0x5': { + ...mockSendState.metamask.marketData['0x5'], + '0x0bc529c00c6401aef6d220be8c6ea1667f6ad93e': { value: 2 }, + }, }, }, appState: { ...mockSendState.appState, sendInputCurrencySwitched }, diff --git a/ui/hooks/useAccountTotalFiatBalance.test.js b/ui/hooks/useAccountTotalFiatBalance.test.js index 3c1e5a52bc01..5a5dab9df9fb 100644 --- a/ui/hooks/useAccountTotalFiatBalance.test.js +++ b/ui/hooks/useAccountTotalFiatBalance.test.js @@ -48,9 +48,11 @@ const renderUseAccountTotalFiatBalance = (address) => { conversionRate: 1612.92, }, }, - contractExchangeRates: { - '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48': 0.0006189, - '0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e': 3.304588, + marketData: { + [CHAIN_IDS.MAINNET]: { + '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48': { value: 0.0006189 }, + '0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e': { value: 3.304588 }, + }, }, accountsByChainId: { [CHAIN_IDS.MAINNET]: {