1- import { DecryptMessageManager } from '@metamask/message-manager' ;
2- import { AbstractMessage } from '@metamask/message-manager/dist/AbstractMessageManager' ;
1+ import {
2+ DecryptMessageManager ,
3+ DecryptMessageParams ,
4+ } from '@metamask/message-manager' ;
35import { MetaMetricsEventCategory } from '../../../shared/constants/metametrics' ;
46import DecryptMessageController , {
57 DecryptMessageControllerMessenger ,
@@ -8,15 +10,17 @@ import DecryptMessageController, {
810} from './decrypt-message' ;
911
1012const messageIdMock = '12345' ;
13+ const messageDataMock =
14+ '0x7b2276657273696f6e223a227832353531392d7873616c736132302d706f6c7931333035222c226e6f6e6365223a226b45586143524c3045646142766f77756e35675979357175784a4a6967304548222c22657068656d5075626c69634b6579223a224863334636506d314734385a567955424763365866537839682b77784b6958587238456a51434253466e553d222c2263697068657274657874223a22546a41556b68554a5968656e7a2f655a6e57454a2b31456c7861354f77765939613830507a62746c7a7a48746934634175525941227d' ;
1115const messageMock = {
1216 metamaskId : messageIdMock ,
1317 time : 123 ,
1418 status : 'unapproved' ,
1519 type : 'testType' ,
1620 rawSig : undefined ,
17- } as any as AbstractMessage ;
18- const messageDataMock =
19- '0x7b2276657273696f6e223a227832353531392d7873616c736132302d706f6c7931333035222c226e6f6e6365223a226b45586143524c3045646142766f77756e35675979357175784a4a6967304548222c22657068656d5075626c69634b6579223a224863334636506d314734385a567955424763365866537839682b77784b6958587238456a51434253466e553d222c2263697068657274657874223a22546a41556b68554a5968656e7a2f655a6e57454a2b31456c7861354f77765939613830507a62746c7a7a48746934634175525941227d' ;
21+ data : messageDataMock ,
22+ from : '0x0' ,
23+ } as DecryptMessageParams & { metamaskId : string } ;
2024
2125const mockExtState = { } ;
2226
@@ -56,7 +60,14 @@ const createDecryptMessageManagerMock = <T>() =>
5660 } as any as jest . Mocked < T > ) ;
5761
5862describe ( 'DecryptMessageController' , ( ) => {
59- let decryptMessageController : DecryptMessageController ;
63+ class MockDecryptMessageController extends DecryptMessageController {
64+ // update is protected, so we expose it for typechecking here
65+ public update ( callback : Parameters < DecryptMessageController [ 'update' ] > [ 0 ] ) {
66+ return super . update ( callback ) ;
67+ }
68+ }
69+
70+ let decryptMessageController : MockDecryptMessageController ;
6071
6172 const decryptMessageManagerConstructorMock =
6273 DecryptMessageManager as jest . MockedClass < typeof DecryptMessageManager > ;
@@ -88,7 +99,7 @@ describe('DecryptMessageController', () => {
8899 decryptMessageManagerMock ,
89100 ) ;
90101
91- decryptMessageController = new DecryptMessageController ( {
102+ decryptMessageController = new MockDecryptMessageController ( {
92103 getState : getStateMock as any ,
93104 keyringController : keyringControllerMock as any ,
94105 messenger : messengerMock as any ,
@@ -118,7 +129,10 @@ describe('DecryptMessageController', () => {
118129 expect ( decryptMessageManagerMock . update ) . toBeCalledTimes ( 1 ) ;
119130 } ) ;
120131 it ( 'should add unapproved messages' , async ( ) => {
121- await decryptMessageController . newRequestDecryptMessage ( messageMock ) ;
132+ await decryptMessageController . newRequestDecryptMessage (
133+ messageMock ,
134+ undefined as any ,
135+ ) ;
122136
123137 expect ( decryptMessageManagerMock . addUnapprovedMessageAsync ) . toBeCalledTimes (
124138 1 ,
@@ -206,7 +220,7 @@ describe('DecryptMessageController', () => {
206220 const messageToDecrypt = {
207221 ...messageMock ,
208222 data : messageDataMock ,
209- } ;
223+ } as any ;
210224 decryptMessageManagerMock . getMessage . mockReturnValue ( messageToDecrypt ) ;
211225 mockMessengerAction (
212226 'KeyringController:decryptMessage' ,
@@ -238,7 +252,9 @@ describe('DecryptMessageController', () => {
238252 } ) ;
239253
240254 it ( 'should be able to cancel decrypt message' , async ( ) => {
241- decryptMessageManagerMock . rejectMessage . mockResolvedValue ( messageMock ) ;
255+ decryptMessageManagerMock . rejectMessage . mockResolvedValue (
256+ messageMock as never ,
257+ ) ;
242258 getStateMock . mockReturnValue ( mockExtState ) ;
243259
244260 const result = await decryptMessageController . cancelDecryptMessage (
@@ -255,7 +271,7 @@ describe('DecryptMessageController', () => {
255271 it ( 'should be able to reject all unapproved messages' , async ( ) => {
256272 decryptMessageManagerMock . getUnapprovedMessages . mockReturnValue ( {
257273 [ messageIdMock ] : messageMock ,
258- } ) ;
274+ } as any ) ;
259275
260276 await decryptMessageController . rejectUnapproved ( 'reason to cancel' ) ;
261277
0 commit comments