@@ -10,7 +10,10 @@ import { DIALOG_APPROVAL_TYPES } from '@metamask/snaps-rpc-methods';
1010import type { CaipAssetType , CaipChainId } from '@metamask/snaps-sdk' ;
1111import { AuxiliaryFileEncoding , text } from '@metamask/snaps-sdk' ;
1212import { VirtualFile } from '@metamask/snaps-utils' ;
13- import { getSnapManifest } from '@metamask/snaps-utils/test-utils' ;
13+ import {
14+ getSnapManifest ,
15+ MOCK_SNAP_ID ,
16+ } from '@metamask/snaps-utils/test-utils' ;
1417
1518import { DEFAULT_SRP } from './constants' ;
1619import {
@@ -26,6 +29,7 @@ import {
2629 getRestrictedSnapInterfaceControllerMessenger ,
2730 getRootControllerMessenger ,
2831} from './test-utils' ;
32+ import { addSnapMetadataToAccount } from './utils/account' ;
2933
3034describe ( 'installSnap' , ( ) => {
3135 it ( 'installs a Snap and returns the execution service' , async ( ) => {
@@ -693,15 +697,15 @@ describe('registerActions', () => {
693697 const controllerMessenger = getRootControllerMessenger ( false ) ;
694698
695699 it ( 'registers `PhishingController:testOrigin`' , async ( ) => {
696- registerActions ( controllerMessenger , runSaga , options ) ;
700+ registerActions ( controllerMessenger , runSaga , options , MOCK_SNAP_ID ) ;
697701
698702 expect (
699703 controllerMessenger . call ( 'PhishingController:testOrigin' , 'foo' ) ,
700704 ) . toStrictEqual ( { result : false , type : 'all' } ) ;
701705 } ) ;
702706
703707 it ( 'registers `ApprovalController:hasRequest`' , async ( ) => {
704- registerActions ( controllerMessenger , runSaga , options ) ;
708+ registerActions ( controllerMessenger , runSaga , options , MOCK_SNAP_ID ) ;
705709
706710 store . dispatch (
707711 setInterface ( { type : DIALOG_APPROVAL_TYPES . default , id : 'foo' } ) ,
@@ -713,7 +717,7 @@ describe('registerActions', () => {
713717 } ) ;
714718
715719 it ( 'registers `ApprovalController:acceptRequest`' , async ( ) => {
716- registerActions ( controllerMessenger , runSaga , options ) ;
720+ registerActions ( controllerMessenger , runSaga , options , MOCK_SNAP_ID ) ;
717721
718722 store . dispatch (
719723 setInterface ( { type : DIALOG_APPROVAL_TYPES . default , id : 'foo' } ) ,
@@ -729,36 +733,59 @@ describe('registerActions', () => {
729733 } ) ;
730734
731735 it ( 'registers `AccountsController:getAccountByAddress`' , async ( ) => {
732- registerActions ( controllerMessenger , runSaga , options ) ;
736+ registerActions ( controllerMessenger , runSaga , options , MOCK_SNAP_ID ) ;
733737
734738 expect (
735739 controllerMessenger . call (
736740 'AccountsController:getAccountByAddress' ,
737741 mockedAccounts [ 0 ] . address ,
738742 ) ,
739- ) . toStrictEqual ( mockedAccounts [ 0 ] ) ;
743+ ) . toStrictEqual ( addSnapMetadataToAccount ( mockedAccounts [ 0 ] , MOCK_SNAP_ID ) ) ;
744+
745+ expect (
746+ controllerMessenger . call ( 'AccountsController:getAccountByAddress' , 'foo' ) ,
747+ ) . toBeUndefined ( ) ;
740748 } ) ;
741749
742750 it ( 'registers `AccountsController:getSelectedMultichainAccount`' , async ( ) => {
743- registerActions ( controllerMessenger , runSaga , options ) ;
751+ registerActions ( controllerMessenger , runSaga , options , MOCK_SNAP_ID ) ;
744752
745753 expect (
746754 controllerMessenger . call (
747755 'AccountsController:getSelectedMultichainAccount' ,
748756 ) ,
749- ) . toStrictEqual ( mockedAccounts [ 0 ] ) ;
757+ ) . toStrictEqual ( addSnapMetadataToAccount ( mockedAccounts [ 0 ] , MOCK_SNAP_ID ) ) ;
758+ } ) ;
759+
760+ it ( 'returns `undefined` in `AccountsController:getSelectedMultichainAccount` if no account is selected' , async ( ) => {
761+ registerActions (
762+ controllerMessenger ,
763+ runSaga ,
764+ { ...options , accounts : [ ] } ,
765+ MOCK_SNAP_ID ,
766+ ) ;
767+
768+ expect (
769+ controllerMessenger . call (
770+ 'AccountsController:getSelectedMultichainAccount' ,
771+ ) ,
772+ ) . toBeUndefined ( ) ;
750773 } ) ;
751774
752775 it ( 'registers `AccountsController:listMultichainAccounts`' , async ( ) => {
753- registerActions ( controllerMessenger , runSaga , options ) ;
776+ registerActions ( controllerMessenger , runSaga , options , MOCK_SNAP_ID ) ;
754777
755778 expect (
756779 controllerMessenger . call ( 'AccountsController:listMultichainAccounts' ) ,
757- ) . toStrictEqual ( mockedAccounts ) ;
780+ ) . toStrictEqual (
781+ mockedAccounts . map ( ( account ) =>
782+ addSnapMetadataToAccount ( account , MOCK_SNAP_ID ) ,
783+ ) ,
784+ ) ;
758785 } ) ;
759786
760787 it ( 'registers `MultichainAssetsController:getState`' , async ( ) => {
761- registerActions ( controllerMessenger , runSaga , options ) ;
788+ registerActions ( controllerMessenger , runSaga , options , MOCK_SNAP_ID ) ;
762789
763790 expect (
764791 controllerMessenger . call ( 'MultichainAssetsController:getState' ) ,
0 commit comments