@@ -486,14 +486,17 @@ describe("MatrixRTCSession", () => {
486
486
let sendStateEventMock : jest . Mock ;
487
487
let sendDelayedStateMock : jest . Mock ;
488
488
let sendEventMock : jest . Mock ;
489
+ let sendToDeviceMock : jest . Mock ;
489
490
490
491
beforeEach ( ( ) => {
491
492
sendStateEventMock = jest . fn ( ) ;
492
493
sendDelayedStateMock = jest . fn ( ) ;
493
494
sendEventMock = jest . fn ( ) ;
495
+ sendToDeviceMock = jest . fn ( ) ;
494
496
client . sendStateEvent = sendStateEventMock ;
495
497
client . _unstable_sendDelayedStateEvent = sendDelayedStateMock ;
496
498
client . sendEvent = sendEventMock ;
499
+ client . encryptAndSendToDevice = sendToDeviceMock ;
497
500
498
501
mockRoom = makeMockRoom ( [ ] ) ;
499
502
sess = MatrixRTCSession . roomSessionForRoom ( client , mockRoom ) ;
@@ -965,6 +968,29 @@ describe("MatrixRTCSession", () => {
965
968
jest . useRealTimers ( ) ;
966
969
}
967
970
} ) ;
971
+
972
+ it ( "send key as to device" , async ( ) => {
973
+ jest . useFakeTimers ( ) ;
974
+ try {
975
+ const keySentPromise = new Promise ( ( resolve ) => {
976
+ sendToDeviceMock . mockImplementation ( resolve ) ;
977
+ } ) ;
978
+
979
+ const mockRoom = makeMockRoom ( [ membershipTemplate ] ) ;
980
+ sess = MatrixRTCSession . roomSessionForRoom ( client , mockRoom ) ;
981
+
982
+ sess ! . joinRoomSession ( [ mockFocus ] , mockFocus , {
983
+ manageMediaKeys : true ,
984
+ useExperimentalToDeviceTransport : true ,
985
+ } ) ;
986
+
987
+ await keySentPromise ;
988
+
989
+ expect ( sendToDeviceMock ) . toHaveBeenCalled ( ) ;
990
+ } finally {
991
+ jest . useRealTimers ( ) ;
992
+ }
993
+ } ) ;
968
994
} ) ;
969
995
970
996
describe ( "receiving" , ( ) => {
0 commit comments