1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

Fix manually connecting sites (#13320)

This commit is contained in:
Erik Marks 2022-01-14 14:31:32 -08:00 committed by ryanml
parent 66ceeefae3
commit 955855b7d9
2 changed files with 14 additions and 5 deletions

View File

@ -1,3 +1,4 @@
import nanoid from 'nanoid';
import { import {
CaveatTypes, CaveatTypes,
RestrictedMethods, RestrictedMethods,
@ -59,11 +60,13 @@ export function getPermissionBackgroundApiMethods(permissionController) {
}, },
requestAccountsPermissionWithId: async (origin) => { requestAccountsPermissionWithId: async (origin) => {
const [, { id }] = await permissionController.requestPermissions( const id = nanoid();
permissionController.requestPermissions(
{ origin }, { origin },
{ {
eth_accounts: {}, eth_accounts: {},
}, },
{ id },
); );
return id; return id;
}, },

View File

@ -160,9 +160,11 @@ describe('permission background API methods', () => {
describe('requestAccountsPermissionWithId', () => { describe('requestAccountsPermissionWithId', () => {
it('request an accounts permission and returns the request id', async () => { it('request an accounts permission and returns the request id', async () => {
const permissionController = { const permissionController = {
requestPermissions: jest.fn().mockImplementationOnce(async () => { requestPermissions: jest
return [null, { id: 'arbitraryId' }]; .fn()
}), .mockImplementationOnce(async (_, __, { id }) => {
return [null, { id }];
}),
}; };
const id = await getPermissionBackgroundApiMethods( const id = await getPermissionBackgroundApiMethods(
@ -173,9 +175,13 @@ describe('permission background API methods', () => {
expect(permissionController.requestPermissions).toHaveBeenCalledWith( expect(permissionController.requestPermissions).toHaveBeenCalledWith(
{ origin: 'foo.com' }, { origin: 'foo.com' },
{ eth_accounts: {} }, { eth_accounts: {} },
{ id: expect.any(String) },
); );
expect(id).toStrictEqual('arbitraryId'); expect(id.length > 0).toBe(true);
expect(id).toStrictEqual(
permissionController.requestPermissions.mock.calls[0][2].id,
);
}); });
}); });
}); });