@@ -143,6 +143,17 @@ describe("RoomWidgetClient", () => {
143143 ) ;
144144 } ) ;
145145
146+ it ( "send handles wrong field in response" , async ( ) => {
147+ await makeClient ( { sendEvent : [ "org.matrix.rageshake_request" ] } ) ;
148+ widgetApi . sendRoomEvent . mockResolvedValueOnce ( {
149+ room_id : "!1:example.org" ,
150+ delay_id : `id-${ Math . random } ` ,
151+ } ) ;
152+ await expect (
153+ client . sendEvent ( "!1:example.org" , "org.matrix.rageshake_request" , { request_id : 123 } ) ,
154+ ) . rejects . toThrow ( ) ;
155+ } ) ;
156+
146157 it ( "receives" , async ( ) => {
147158 const event = new MatrixEvent ( {
148159 type : "org.matrix.rageshake_request" ,
@@ -278,6 +289,43 @@ describe("RoomWidgetClient", () => {
278289 ) ;
279290 } ) ;
280291
292+ it ( "send delayed message events handles wrong field in response" , async ( ) => {
293+ await makeClient ( { sendDelayedEvents : true , sendEvent : [ "org.matrix.rageshake_request" ] } ) ;
294+ widgetApi . sendRoomEvent . mockResolvedValueOnce ( {
295+ room_id : "!1:example.org" ,
296+ event_id : `$${ Math . random ( ) } ` ,
297+ } ) ;
298+ await expect (
299+ client . _unstable_sendDelayedEvent (
300+ "!1:example.org" ,
301+ { delay : 2000 } ,
302+ null ,
303+ "org.matrix.rageshake_request" ,
304+ { request_id : 123 } ,
305+ ) ,
306+ ) . rejects . toThrow ( ) ;
307+ } ) ;
308+
309+ it ( "send delayed state events handles wrong field in response" , async ( ) => {
310+ await makeClient ( {
311+ sendDelayedEvents : true ,
312+ sendState : [ { eventType : "org.example.foo" , stateKey : "bar" } ] ,
313+ } ) ;
314+ widgetApi . sendStateEvent . mockResolvedValueOnce ( {
315+ room_id : "!1:example.org" ,
316+ event_id : `$${ Math . random ( ) } ` ,
317+ } ) ;
318+ await expect (
319+ client . _unstable_sendDelayedStateEvent (
320+ "!1:example.org" ,
321+ { delay : 2000 } ,
322+ "org.example.foo" ,
323+ { hello : "world" } ,
324+ "bar" ,
325+ ) ,
326+ ) . rejects . toThrow ( ) ;
327+ } ) ;
328+
281329 it ( "updates delayed events" , async ( ) => {
282330 await makeClient ( { updateDelayedEvents : true , sendEvent : [ "org.matrix.rageshake_request" ] } ) ;
283331 expect ( widgetApi . requestCapability ) . toHaveBeenCalledWith ( MatrixCapabilities . MSC4157UpdateDelayedEvent ) ;
@@ -385,6 +433,17 @@ describe("RoomWidgetClient", () => {
385433 ) ;
386434 } ) ;
387435
436+ it ( "send handles incorrect response" , async ( ) => {
437+ await makeClient ( { sendState : [ { eventType : "org.example.foo" , stateKey : "bar" } ] } ) ;
438+ widgetApi . sendStateEvent . mockResolvedValueOnce ( {
439+ room_id : "!1:example.org" ,
440+ delay_id : `id-${ Math . random } ` ,
441+ } ) ;
442+ await expect (
443+ client . sendStateEvent ( "!1:example.org" , "org.example.foo" , { hello : "world" } , "bar" ) ,
444+ ) . rejects . toThrow ( ) ;
445+ } ) ;
446+
388447 it ( "receives" , async ( ) => {
389448 await makeClient ( { receiveState : [ { eventType : "org.example.foo" , stateKey : "bar" } ] } ) ;
390449 expect ( widgetApi . requestCapabilityForRoomTimeline ) . toHaveBeenCalledWith ( "!1:example.org" ) ;
0 commit comments