Skip to content

Commit 4588bad

Browse files
committed
refactor: remove unused test code
1 parent 23e91ae commit 4588bad

File tree

2 files changed

+2
-175
lines changed

2 files changed

+2
-175
lines changed

packages/multichain-account-controller/src/providers/EvmAccountProvider.test.ts

Lines changed: 1 addition & 76 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,12 @@
11
import type { Messenger } from '@metamask/base-controller';
2-
import type { KeyringMetadata } from '@metamask/keyring-controller';
3-
import type {
4-
EthKeyring,
5-
InternalAccount,
6-
} from '@metamask/keyring-internal-api';
2+
import type { InternalAccount } from '@metamask/keyring-internal-api';
73

84
import { EvmAccountProvider } from './EvmAccountProvider';
95
import {
106
getMultichainAccountControllerMessenger,
117
getRootMessenger,
128
MOCK_HD_ACCOUNT_1,
139
MOCK_HD_ACCOUNT_2,
14-
MockAccountBuilder,
1510
} from '../tests';
1611
import type {
1712
AllowedActions,
@@ -20,51 +15,6 @@ import type {
2015
MultichainAccountControllerEvents,
2116
} from '../types';
2217

23-
class MockEthKeyring implements EthKeyring {
24-
readonly type = 'MockEthKeyring';
25-
26-
readonly metadata: KeyringMetadata = {
27-
id: 'mock-eth-keyring-id',
28-
name: '',
29-
};
30-
31-
readonly accounts: InternalAccount[];
32-
33-
constructor(accounts: InternalAccount[]) {
34-
this.accounts = accounts;
35-
}
36-
37-
async serialize() {
38-
return 'serialized';
39-
}
40-
41-
async deserialize(_: string) {
42-
// Not required.
43-
}
44-
45-
getAccounts = jest
46-
.fn()
47-
.mockImplementation(() => this.accounts.map((account) => account.address));
48-
49-
addAccounts = jest.fn().mockImplementation((numberOfAccounts: number) => {
50-
const newAccountsIndex = this.accounts.length;
51-
52-
// Just generate a new address by appending the number of accounts owned by that fake keyring.
53-
for (let i = 0; i < numberOfAccounts; i++) {
54-
this.accounts.push(
55-
MockAccountBuilder.from(MOCK_HD_ACCOUNT_1)
56-
.withUuid()
57-
.withAddressSuffix(`${this.accounts.length}`)
58-
.get(),
59-
);
60-
}
61-
62-
return this.accounts
63-
.slice(newAccountsIndex)
64-
.map((account) => account.address);
65-
});
66-
}
67-
6818
/**
6919
* Sets up a EvmAccountProvider for testing.
7020
*
@@ -88,44 +38,19 @@ function setup({
8838
MultichainAccountControllerActions | AllowedActions,
8939
MultichainAccountControllerEvents | AllowedEvents
9040
>;
91-
keyring: MockEthKeyring;
92-
mocks: {
93-
getAccountsByAddress: jest.Mock;
94-
};
9541
} {
96-
const keyring = new MockEthKeyring(accounts);
97-
9842
messenger.registerActionHandler(
9943
'AccountsController:listMultichainAccounts',
10044
() => accounts,
10145
);
10246

103-
const mockGetAccountByAddress = jest
104-
.fn()
105-
.mockImplementation((address: string) =>
106-
keyring.accounts.find((account) => account.address === address),
107-
);
108-
messenger.registerActionHandler(
109-
'AccountsController:getAccountByAddress',
110-
mockGetAccountByAddress,
111-
);
112-
113-
messenger.registerActionHandler(
114-
'KeyringController:withKeyring',
115-
async (_, operation) => operation({ keyring, metadata: keyring.metadata }),
116-
);
117-
11847
const provider = new EvmAccountProvider(
11948
getMultichainAccountControllerMessenger(messenger),
12049
);
12150

12251
return {
12352
provider,
12453
messenger,
125-
keyring,
126-
mocks: {
127-
getAccountsByAddress: mockGetAccountByAddress,
128-
},
12954
};
13055
}
13156

packages/multichain-account-controller/src/providers/SolAccountProvider.test.ts

Lines changed: 1 addition & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,12 @@
11
import type { Messenger } from '@metamask/base-controller';
2-
import type { SnapKeyring } from '@metamask/eth-snap-keyring';
3-
import type { KeyringMetadata } from '@metamask/keyring-controller';
4-
import type {
5-
EthKeyring,
6-
InternalAccount,
7-
} from '@metamask/keyring-internal-api';
2+
import type { InternalAccount } from '@metamask/keyring-internal-api';
83

94
import { SolAccountProvider } from './SolAccountProvider';
105
import {
116
getMultichainAccountControllerMessenger,
127
getRootMessenger,
138
MOCK_HD_ACCOUNT_1,
149
MOCK_SNAP_ACCOUNT_1,
15-
MockAccountBuilder,
1610
} from '../tests';
1711
import type {
1812
AllowedActions,
@@ -21,61 +15,6 @@ import type {
2115
MultichainAccountControllerEvents,
2216
} from '../types';
2317

24-
class MockSolanaKeyring {
25-
readonly type = 'MockSolanaKeyring';
26-
27-
readonly metadata: KeyringMetadata = {
28-
id: 'mock-solana-keyring-id',
29-
name: '',
30-
};
31-
32-
readonly accounts: InternalAccount[];
33-
34-
constructor(accounts: InternalAccount[]) {
35-
this.accounts = accounts;
36-
}
37-
38-
#getIndexFromDerivationPath(derivationPath: string): number {
39-
// eslint-disable-next-line prefer-regex-literals
40-
const derivationPathIndexRegex = new RegExp(
41-
"m/44'/501'/(?<index>[0-9]+)'/0",
42-
'u',
43-
);
44-
45-
const matched = derivationPath.match(derivationPathIndexRegex);
46-
if (matched?.groups?.index === undefined) {
47-
throw new Error('Unable to extract index');
48-
}
49-
50-
const { index } = matched.groups;
51-
return Number(index);
52-
}
53-
54-
createAccount: SnapKeyring['createAccount'] = jest
55-
.fn()
56-
.mockImplementation((_, options) => {
57-
if (options.derivationPath !== undefined) {
58-
const index = this.#getIndexFromDerivationPath(options.derivationPath);
59-
const found = this.accounts.find(
60-
(account) => account.options.index === index,
61-
);
62-
63-
if (found) {
64-
return found; // Idempotent.
65-
}
66-
}
67-
68-
const account = MockAccountBuilder.from(MOCK_SNAP_ACCOUNT_1)
69-
.withUuid()
70-
.withAddressSuffix(`${this.accounts.length}`)
71-
.withGroupIndex(this.accounts.length)
72-
.get();
73-
this.accounts.push(account);
74-
75-
return account;
76-
});
77-
}
78-
7918
/**
8019
* Sets up a SolAccountProvider for testing.
8120
*
@@ -99,56 +38,19 @@ function setup({
9938
MultichainAccountControllerActions | AllowedActions,
10039
MultichainAccountControllerEvents | AllowedEvents
10140
>;
102-
keyring: MockSolanaKeyring;
103-
mocks: {
104-
handleRequest: jest.Mock;
105-
keyring: {
106-
createAccount: jest.Mock;
107-
};
108-
};
10941
} {
110-
const keyring = new MockSolanaKeyring(accounts);
111-
11242
messenger.registerActionHandler(
11343
'AccountsController:listMultichainAccounts',
11444
() => accounts,
11545
);
11646

117-
const mockHandleRequest = jest
118-
.fn()
119-
.mockImplementation((address: string) =>
120-
keyring.accounts.find((account) => account.address === address),
121-
);
122-
messenger.registerActionHandler(
123-
'SnapController:handleRequest',
124-
mockHandleRequest,
125-
);
126-
127-
messenger.registerActionHandler(
128-
'KeyringController:withKeyring',
129-
async (_, operation) =>
130-
operation({
131-
// We type-cast here, since `withKeyring` defaults to `EthKeyring` and the
132-
// Snap keyring does really implement this interface (this is expected).
133-
keyring: keyring as unknown as EthKeyring,
134-
metadata: keyring.metadata,
135-
}),
136-
);
137-
13847
const provider = new SolAccountProvider(
13948
getMultichainAccountControllerMessenger(messenger),
14049
);
14150

14251
return {
14352
provider,
14453
messenger,
145-
keyring,
146-
mocks: {
147-
handleRequest: mockHandleRequest,
148-
keyring: {
149-
createAccount: keyring.createAccount as jest.Mock,
150-
},
151-
},
15254
};
15355
}
15456

0 commit comments

Comments
 (0)