Skip to content

Commit da25c0e

Browse files
committed
use jest mock instead of actions handler swap
1 parent b3df752 commit da25c0e

File tree

1 file changed

+12
-52
lines changed

1 file changed

+12
-52
lines changed

packages/account-tree-controller/src/AccountTreeController.test.ts

Lines changed: 12 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,8 @@ const MOCK_HARDWARE_ACCOUNT_1: InternalAccount = {
189189
},
190190
};
191191

192+
const mockGetSelectedAccountActionHandler = jest.fn();
193+
192194
/**
193195
* Sets up the AccountTreeController for testing.
194196
*
@@ -271,6 +273,9 @@ function setup({
271273
// Mock AccountsController:getSelectedAccount to return the first account
272274
accountsControllerMessenger.registerActionHandler(
273275
'AccountsController:getSelectedAccount',
276+
mockGetSelectedAccountActionHandler,
277+
);
278+
mockGetSelectedAccountActionHandler.mockImplementation(
274279
() => accounts[0] || MOCK_HD_ACCOUNT_1,
275280
);
276281

@@ -1513,28 +1518,13 @@ describe('AccountTreeController', () => {
15131518
});
15141519

15151520
it('falls back to first wallet first group when AccountsController returns EMPTY_ACCOUNT', () => {
1516-
const {
1517-
controller,
1518-
messenger,
1519-
accountsControllerMessenger,
1520-
accountTreeControllerMessenger,
1521-
} = setup({
1521+
const { controller } = setup({
15221522
accounts: [MOCK_HD_ACCOUNT_1, MOCK_HD_ACCOUNT_2],
15231523
keyrings: [MOCK_HD_KEYRING_1, MOCK_HD_KEYRING_2],
15241524
});
15251525

1526-
// Unregister existing handler and register new one BEFORE init
1527-
accountsControllerMessenger.unregisterActionHandler(
1528-
'AccountsController:getSelectedAccount',
1529-
);
1530-
accountsControllerMessenger.registerActionHandler(
1531-
'AccountsController:getSelectedAccount',
1532-
() => EMPTY_ACCOUNT_MOCK,
1533-
);
1534-
messenger.delegate({
1535-
messenger: accountTreeControllerMessenger,
1536-
actions: ['AccountsController:getSelectedAccount'],
1537-
});
1526+
// Mock action handler BEFORE init
1527+
mockGetSelectedAccountActionHandler.mockReturnValue(EMPTY_ACCOUNT_MOCK);
15381528

15391529
controller.init();
15401530

@@ -1551,12 +1541,7 @@ describe('AccountTreeController', () => {
15511541
});
15521542

15531543
it('falls back to first wallet first group when selected account is not in tree', () => {
1554-
const {
1555-
controller,
1556-
messenger,
1557-
accountsControllerMessenger,
1558-
accountTreeControllerMessenger,
1559-
} = setup({
1544+
const { controller } = setup({
15601545
accounts: [MOCK_HD_ACCOUNT_1, MOCK_HD_ACCOUNT_2],
15611546
keyrings: [MOCK_HD_KEYRING_1, MOCK_HD_KEYRING_2],
15621547
});
@@ -1567,17 +1552,7 @@ describe('AccountTreeController', () => {
15671552
id: 'unknown-account-id',
15681553
};
15691554

1570-
accountsControllerMessenger.unregisterActionHandler(
1571-
'AccountsController:getSelectedAccount',
1572-
);
1573-
accountsControllerMessenger.registerActionHandler(
1574-
'AccountsController:getSelectedAccount',
1575-
() => unknownAccount,
1576-
);
1577-
messenger.delegate({
1578-
messenger: accountTreeControllerMessenger,
1579-
actions: ['AccountsController:getSelectedAccount'],
1580-
});
1555+
mockGetSelectedAccountActionHandler.mockReturnValue(unknownAccount);
15811556

15821557
controller.init();
15831558

@@ -1594,28 +1569,13 @@ describe('AccountTreeController', () => {
15941569
});
15951570

15961571
it('returns empty string when no wallets exist and getSelectedAccount returns EMPTY_ACCOUNT', () => {
1597-
const {
1598-
controller,
1599-
messenger,
1600-
accountsControllerMessenger,
1601-
accountTreeControllerMessenger,
1602-
} = setup({
1572+
const { controller } = setup({
16031573
accounts: [],
16041574
keyrings: [],
16051575
});
16061576

16071577
// Mock getSelectedAccount to return EMPTY_ACCOUNT_MOCK (id is '') BEFORE init
1608-
accountsControllerMessenger.unregisterActionHandler(
1609-
'AccountsController:getSelectedAccount',
1610-
);
1611-
accountsControllerMessenger.registerActionHandler(
1612-
'AccountsController:getSelectedAccount',
1613-
() => EMPTY_ACCOUNT_MOCK,
1614-
);
1615-
messenger.delegate({
1616-
messenger: accountTreeControllerMessenger,
1617-
actions: ['AccountsController:getSelectedAccount'],
1618-
});
1578+
mockGetSelectedAccountActionHandler.mockReturnValue(EMPTY_ACCOUNT_MOCK);
16191579

16201580
controller.init();
16211581

0 commit comments

Comments
 (0)