@@ -48,6 +48,8 @@ import {
48
48
import { CallFeed } from "../../../src/webrtc/callFeed" ;
49
49
import { EventType , type IContent , type ISendEventResponse , type MatrixEvent , type Room } from "../../../src" ;
50
50
import { emitPromise } from "../../test-utils/test-utils" ;
51
+ import { CryptoApi } from "../../../src/crypto-api" ;
52
+ import { GroupCallUnknownDeviceError } from "../../../src/webrtc/groupCall" ;
51
53
52
54
const FAKE_ROOM_ID = "!foo:bar" ;
53
55
const CALL_LIFETIME = 60000 ;
@@ -1839,4 +1841,31 @@ describe("Call", function () {
1839
1841
const err = await prom ;
1840
1842
expect ( err . code ) . toBe ( CallErrorCode . IceFailed ) ;
1841
1843
} ) ;
1844
+
1845
+ it ( "should throw an error when trying to call 'placeCallWithCallFeeds' when crypto is enabled" , async ( ) => {
1846
+ jest . spyOn ( client . client , "getCrypto" ) . mockReturnValue ( { } as unknown as CryptoApi ) ;
1847
+ call = new MatrixCall ( {
1848
+ client : client . client ,
1849
+ roomId : FAKE_ROOM_ID ,
1850
+ opponentDeviceId : "opponent_device_id" ,
1851
+ invitee : "invitee" ,
1852
+ } ) ;
1853
+ call . on ( CallEvent . Error , jest . fn ( ) ) ;
1854
+
1855
+ await expect (
1856
+ call . placeCallWithCallFeeds ( [
1857
+ new CallFeed ( {
1858
+ client : client . client ,
1859
+ stream : new MockMediaStream ( "local_stream1" , [
1860
+ new MockMediaStreamTrack ( "track_id" , "audio" ) ,
1861
+ ] ) as unknown as MediaStream ,
1862
+ userId : client . getUserId ( ) ,
1863
+ deviceId : undefined ,
1864
+ purpose : SDPStreamMetadataPurpose . Usermedia ,
1865
+ audioMuted : false ,
1866
+ videoMuted : false ,
1867
+ } ) ,
1868
+ ] ) ,
1869
+ ) . rejects . toThrow ( new GroupCallUnknownDeviceError ( "invitee" ) ) ;
1870
+ } ) ;
1842
1871
} ) ;
0 commit comments