Skip to content

Commit fea5048

Browse files
committed
Fix snaps-simulation tests
1 parent 1b5e468 commit fea5048

File tree

8 files changed

+35
-49
lines changed

8 files changed

+35
-49
lines changed

packages/snaps-jest/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@
7474
"@jest/types": "^29.6.3",
7575
"@lavamoat/allow-scripts": "^3.3.5",
7676
"@metamask/auto-changelog": "^5.0.2",
77+
"@metamask/phishing-controller": "^13.1.0",
7778
"@metamask/snaps-utils": "workspace:^",
7879
"@swc/core": "1.11.31",
7980
"@swc/jest": "^0.2.38",
Lines changed: 3 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
import type { SnapInterfaceControllerAllowedActions } from '@metamask/snaps-controllers';
1+
import { PhishingDetectorResultType } from '@metamask/phishing-controller';
2+
import type { RootControllerAllowedActions } from '@metamask/snaps-simulation';
23
import { MockControllerMessenger } from '@metamask/snaps-utils/test-utils';
34

4-
import type { RootControllerAllowedActions } from '../internals/simulation/controllers';
5-
65
export const getRootControllerMessenger = (mocked = true) => {
76
const messenger = new MockControllerMessenger<
87
RootControllerAllowedActions,
@@ -12,7 +11,7 @@ export const getRootControllerMessenger = (mocked = true) => {
1211
if (mocked) {
1312
messenger.registerActionHandler('PhishingController:testOrigin', () => ({
1413
result: false,
15-
type: 'all',
14+
type: PhishingDetectorResultType.All,
1615
}));
1716

1817
messenger.registerActionHandler(
@@ -33,24 +32,3 @@ export const getRootControllerMessenger = (mocked = true) => {
3332

3433
return messenger;
3534
};
36-
37-
export const getRestrictedSnapInterfaceControllerMessenger = (
38-
messenger: ReturnType<
39-
typeof getRootControllerMessenger
40-
> = getRootControllerMessenger(),
41-
) => {
42-
const snapInterfaceControllerMessenger = messenger.getRestricted<
43-
'SnapInterfaceController',
44-
SnapInterfaceControllerAllowedActions['type']
45-
>({
46-
name: 'SnapInterfaceController',
47-
allowedActions: [
48-
'PhishingController:testOrigin',
49-
'ApprovalController:hasRequest',
50-
'ApprovalController:acceptRequest',
51-
],
52-
allowedEvents: [],
53-
});
54-
55-
return snapInterfaceControllerMessenger;
56-
};

packages/snaps-simulation/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@
5555
"test:watch": "jest --watch"
5656
},
5757
"dependencies": {
58-
"@metamask/base-controller": "^8.3.0",
5958
"@metamask/eth-json-rpc-middleware": "^17.0.1",
6059
"@metamask/json-rpc-engine": "^10.0.2",
6160
"@metamask/json-rpc-middleware-stream": "^8.0.7",

packages/snaps-simulation/src/methods/specifications.test.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { Messenger } from '@metamask/messenger';
1+
import type { MockAnyNamespace } from '@metamask/messenger';
2+
import { MOCK_ANY_NAMESPACE, Messenger } from '@metamask/messenger';
23
import {
34
getSnapManifest,
45
MOCK_SNAP_ID,
@@ -15,13 +16,10 @@ import type { RestrictedMiddlewareHooks } from '../simulation';
1516
import { getMockOptions } from '../test-utils/options';
1617

1718
const MOCK_HOOKS: RestrictedMiddlewareHooks = {
19+
getClientCryptography: jest.fn(),
1820
getMnemonic: jest.fn(),
19-
getSnapFile: jest.fn(),
20-
createInterface: jest.fn(),
21-
updateInterface: jest.fn(),
22-
getInterfaceState: jest.fn(),
21+
getMnemonicSeed: jest.fn(),
2322
getIsLocked: jest.fn(),
24-
resolveInterface: jest.fn(),
2523
};
2624

2725
describe('resolve', () => {
@@ -45,7 +43,9 @@ describe('getPermissionSpecifications', () => {
4543
hooks: MOCK_HOOKS,
4644
runSaga: jest.fn(),
4745
options: getMockOptions(),
48-
controllerMessenger: new Messenger(),
46+
controllerMessenger: new Messenger<MockAnyNamespace>({
47+
namespace: MOCK_ANY_NAMESPACE,
48+
}),
4949
}),
5050
).toMatchInlineSnapshot(`
5151
{
@@ -324,7 +324,9 @@ describe('getPermissionSpecifications', () => {
324324
describe('getEndowments', () => {
325325
it('returns the endowments', async () => {
326326
const controllers = getControllers({
327-
controllerMessenger: new Messenger(),
327+
controllerMessenger: new Messenger<MockAnyNamespace>({
328+
namespace: MOCK_ANY_NAMESPACE,
329+
}),
328330
hooks: MOCK_HOOKS,
329331
runSaga: jest.fn(),
330332
options: getMockOptions(),

packages/snaps-simulation/src/simulation.test.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,11 @@ describe('getRestrictedHooks', () => {
236236

237237
describe('getPermittedHooks', () => {
238238
const { runSaga, store } = createStore(getMockOptions());
239-
const controllerMessenger = getRootControllerMessenger();
239+
let controllerMessenger = getRootControllerMessenger();
240+
241+
beforeEach(() => {
242+
controllerMessenger = getRootControllerMessenger();
243+
});
240244

241245
it('returns the `hasPermission` hook', async () => {
242246
const { snapId, close } = await getMockServer({

packages/snaps-simulation/src/test-utils/controller.ts

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
1+
import { Messenger } from '@metamask/messenger';
12
import { PhishingDetectorResultType } from '@metamask/phishing-controller';
2-
import type {
3-
SnapInterfaceControllerAllowedActions,
4-
SnapInterfaceControllerEvents,
5-
} from '@metamask/snaps-controllers';
3+
import type { SnapInterfaceControllerAllowedActions } from '@metamask/snaps-controllers';
64
import { MockControllerMessenger } from '@metamask/snaps-utils/test-utils';
75

86
import type { RootControllerAllowedActions } from '../controllers';
@@ -43,13 +41,19 @@ export const getRestrictedSnapInterfaceControllerMessenger = (
4341
typeof getRootControllerMessenger
4442
> = getRootControllerMessenger(),
4543
) => {
46-
const snapInterfaceControllerMessenger = messenger.getRestricted<
44+
const controllerMessenger = new Messenger<
4745
'SnapInterfaceController',
48-
SnapInterfaceControllerAllowedActions['type'],
49-
SnapInterfaceControllerEvents['type']
46+
SnapInterfaceControllerAllowedActions,
47+
never,
48+
any
5049
>({
51-
name: 'SnapInterfaceController',
52-
allowedActions: [
50+
namespace: 'SnapInterfaceController',
51+
parent: messenger,
52+
});
53+
54+
messenger.delegate({
55+
messenger: controllerMessenger,
56+
actions: [
5357
'PhishingController:testOrigin',
5458
'ApprovalController:hasRequest',
5559
'ApprovalController:acceptRequest',
@@ -58,8 +62,8 @@ export const getRestrictedSnapInterfaceControllerMessenger = (
5862
'AccountsController:listMultichainAccounts',
5963
'MultichainAssetsController:getState',
6064
],
61-
allowedEvents: ['NotificationServicesController:notificationsListUpdated'],
65+
events: ['NotificationServicesController:notificationsListUpdated'],
6266
});
6367

64-
return snapInterfaceControllerMessenger;
68+
return controllerMessenger;
6569
};

packages/snaps-utils/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@
8080
"dependencies": {
8181
"@babel/core": "^7.23.2",
8282
"@babel/types": "^7.23.0",
83-
"@metamask/base-controller": "^8.3.0",
8483
"@metamask/key-tree": "^10.1.1",
8584
"@metamask/messenger": "^0.2.0",
8685
"@metamask/permission-controller": "^11.0.6",

yarn.lock

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4354,6 +4354,7 @@ __metadata:
43544354
"@jest/types": "npm:^29.6.3"
43554355
"@lavamoat/allow-scripts": "npm:^3.3.5"
43564356
"@metamask/auto-changelog": "npm:^5.0.2"
4357+
"@metamask/phishing-controller": "npm:^13.1.0"
43574358
"@metamask/snaps-controllers": "workspace:^"
43584359
"@metamask/snaps-sdk": "workspace:^"
43594360
"@metamask/snaps-simulation": "workspace:^"
@@ -4514,7 +4515,6 @@ __metadata:
45144515
dependencies:
45154516
"@lavamoat/allow-scripts": "npm:^3.3.5"
45164517
"@metamask/auto-changelog": "npm:^5.0.2"
4517-
"@metamask/base-controller": "npm:^8.3.0"
45184518
"@metamask/eth-json-rpc-middleware": "npm:^17.0.1"
45194519
"@metamask/json-rpc-engine": "npm:^10.0.2"
45204520
"@metamask/json-rpc-middleware-stream": "npm:^8.0.7"
@@ -4561,7 +4561,6 @@ __metadata:
45614561
"@babel/types": "npm:^7.23.0"
45624562
"@lavamoat/allow-scripts": "npm:^3.3.5"
45634563
"@metamask/auto-changelog": "npm:^5.0.2"
4564-
"@metamask/base-controller": "npm:^8.3.0"
45654564
"@metamask/key-tree": "npm:^10.1.1"
45664565
"@metamask/messenger": "npm:^0.2.0"
45674566
"@metamask/permission-controller": "npm:^11.0.6"

0 commit comments

Comments
 (0)