1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-25 03:20:23 +01:00

NetworkController tests: Sync withController helper (#19313)

This reduces the diff in the NetworkController tests between this repo
and core in order to make them easier to merge.
This commit is contained in:
Elliot Winkler 2023-05-31 11:50:32 -06:00 committed by GitHub
parent 84cb4a7b62
commit 206e4537d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -79,13 +79,6 @@ const POST_1559_BLOCK: Block = {
*/ */
const BLOCK: Block = POST_1559_BLOCK; const BLOCK: Block = POST_1559_BLOCK;
/**
* A dummy value for the `projectId` option that `createInfuraClient` needs.
* (Infura should not be hit during tests, but just in case, this should not
* refer to a real project ID.)
*/
const DEFAULT_INFURA_PROJECT_ID = 'fake-infura-project-id';
/** /**
* The networks that NetworkController recognizes as built-in Infura networks, * The networks that NetworkController recognizes as built-in Infura networks,
* along with information we expect to be true for those networks. * along with information we expect to be true for those networks.
@ -6172,22 +6165,21 @@ type WithControllerArgs<ReturnValue> =
* *
* @param args - Either a function, or an options bag + a function. The options * @param args - Either a function, or an options bag + a function. The options
* bag is equivalent to the options that NetworkController takes (although * bag is equivalent to the options that NetworkController takes (although
* `messenger` is filled in if not given); the function will be called with the * `messenger` and `infuraProjectId` are filled in if not given); the function
* built controller. * will be called with the built controller.
* @returns Whatever the callback returns. * @returns Whatever the callback returns.
*/ */
async function withController<ReturnValue>( async function withController<ReturnValue>(
...args: WithControllerArgs<ReturnValue> ...args: WithControllerArgs<ReturnValue>
): Promise<ReturnValue> { ): Promise<ReturnValue> {
const [givenNetworkControllerOptions, fn] = const [{ ...rest }, fn] = args.length === 2 ? args : [{}, args[0]];
args.length === 2 ? args : [{}, args[0]];
const messenger = buildMessenger(); const messenger = buildMessenger();
const restrictedMessenger = buildNetworkControllerMessenger(messenger); const restrictedMessenger = buildNetworkControllerMessenger(messenger);
const controller = new NetworkController({ const controller = new NetworkController({
infuraProjectId: DEFAULT_INFURA_PROJECT_ID,
messenger: restrictedMessenger, messenger: restrictedMessenger,
trackMetaMetricsEvent: jest.fn(), trackMetaMetricsEvent: jest.fn(),
...givenNetworkControllerOptions, infuraProjectId: 'infura-project-id',
...rest,
}); });
try { try {
return await fn({ controller, messenger }); return await fn({ controller, messenger });