1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00
metamask-extension/test/unit/app/controllers
Mark Stacey 656dc4cf18
Cleanup detect-tokens controller and tests (#8329)
The tests for the detect-tokens controller were nearly all broken. They
have been fixed, and a few improvements were made to controller itself
to help with this.

* The core `detectNewTokens` method has been updated to be async, so
that the caller can know when the operation had completed.
* The part of the function that used `Web3` to check the token balances
has been split into a separate function, so that that part could be
stubbed out in tests. Eventually we should test this using `ganache`
instead, but this was an easier first step.
* The internal `tokenAddresses` array is now initialized on
construction, rather than upon the first Preferences controller update.
The `detectNewTokens` function would have previously failed if it ran
prior to this initialization, so it was failing if called before any
preferences state changes.

Additionally, the `detectTokenBalance` function was removed, as it was
no longer used.

The tests have been updated to ensure they're actually testing the
behavior they purport to be testing. I've simulated a test failure with
each one to check that it'd fail when it should. The preferences
controller instance was updated to set addresses correctly as well.
2020-04-13 17:14:42 -03:00
..
network
permissions Connect flow via popup (#8269) 2020-04-07 16:08:15 -02:30
transactions
balance-controller.spec.js
cached-balances-test.js
detect-tokens-test.js Cleanup detect-tokens controller and tests (#8329) 2020-04-13 17:14:42 -03:00
ens-controller-test.js
incoming-transactions-test.js
infura-controller-test.js
metamask-controller-test.js
preferences-controller-test.js Update PreferencesController tests (#8328) 2020-04-13 17:03:35 -02:30
token-rates-controller.js