mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-22 09:57:02 +01:00
24eae1d3c6
* Use fake provider for NetworkController unit tests In the unit tests for NetworkController, it's important to prevent network requests from occurring. Currently we do that by using Nock. However, the `core` version of NetworkController uses a fake provider object. This is arguably a better approach for unit tests because it prevents us from having to think about the behavior that a specific middleware may have. For instance, the Infura middleware intercepts `eth_chainId` to return a static result, and the block cache middleware replaces the `latest` block tag with the latest block number, making an extra call to `eth_blockNumber` in doing so. We have to account for these kinds of behaviors when using Nock, but we do not need to do this when using a fake provider. This should make it easier to compare the difference between the unit tests in this repo vs. in the `core` repo, which should ultimately help us merge the two controllers together. * Rename fake-provider-engine to fake-provider * Rearrange imports * Move fake-provider and fake-block-tracker into a directory and exclude it from coverage * Make FakeBlockTracker inert, and fix JSDocs * Remove generics from FakeProvider * Call beforeCompleting (and beforeResolving) using async/await * Fix signature of sendAsync; align other signatures within FakeProvider * No need to check whether error is not a string * Don't exclude the provider-api-tests directory from coverage * Make sure to mock both net_version and eth_getBlockByNumber when testing network status * Fix FakeProvider so that none of the methods have optional callbacks |
||
---|---|---|
.. | ||
account-import-strategies | ||
constants | ||
controllers | ||
lib | ||
migrations | ||
platforms | ||
app-init.js | ||
background.js | ||
contentscript.js | ||
detect-multiple-instances.js | ||
detect-multiple-instances.test.js | ||
disable-console.js | ||
first-time-state.js | ||
init-globals.js | ||
inpage.js | ||
lockdown-more.js | ||
lockdown-run.js | ||
metamask-controller.actions.test.js | ||
metamask-controller.js | ||
metamask-controller.test.js | ||
sentry-install.js | ||
ui.js | ||
use-snow.js |