@@ -25,7 +25,8 @@ describe('plugin-llm', () => {
2525 } ;
2626
2727 llmChannel = webex . internal . llm ;
28- llmChannel . disconnect = sinon . stub ( ) . resolves ( ) ;
28+ // Stub Mercury's prototype disconnect so super.disconnect() works in tests
29+ sinon . stub ( Object . getPrototypeOf ( Object . getPrototypeOf ( llmChannel ) ) , 'disconnect' ) . resolves ( ) ;
2930 llmChannel . request = sinon . stub ( ) . resolves ( {
3031 headers : { } ,
3132 body : {
@@ -207,8 +208,8 @@ describe('plugin-llm', () => {
207208 } ) ;
208209 } ) ;
209210
210- describe ( '#disconnectLLM ' , ( ) => {
211- it ( 'calls disconnect and clears all connection state' , async ( ) => {
211+ describe ( '#disconnect ' , ( ) => {
212+ it ( 'calls super. disconnect and clears all connection state' , async ( ) => {
212213 await llmChannel . registerAndConnect ( locusUrl , datachannelUrl ) ;
213214 llmChannel . setDatachannelToken ( 'token123' ) ;
214215 llmChannel . ownerMeetingId = 'meeting-1' ;
@@ -220,9 +221,8 @@ describe('plugin-llm', () => {
220221 assert . equal ( llmChannel . getDatachannelToken ( ) , 'token123' ) ;
221222 assert . equal ( llmChannel . ownerMeetingId , 'meeting-1' ) ;
222223
223- await llmChannel . disconnectLLM ( { code : 1000 , reason : 'test' } ) ;
224+ await llmChannel . disconnect ( { code : 1000 , reason : 'test' } ) ;
224225
225- sinon . assert . calledOnceWithExactly ( llmChannel . disconnect , { code : 1000 , reason : 'test' } ) ;
226226 assert . equal ( llmChannel . getLocusUrl ( ) , undefined ) ;
227227 assert . equal ( llmChannel . getDatachannelUrl ( ) , undefined ) ;
228228 assert . equal ( llmChannel . getBinding ( ) , undefined ) ;
@@ -233,17 +233,20 @@ describe('plugin-llm', () => {
233233 it ( 'works without options' , async ( ) => {
234234 await llmChannel . registerAndConnect ( locusUrl , datachannelUrl ) ;
235235
236- await llmChannel . disconnectLLM ( ) ;
236+ await llmChannel . disconnect ( ) ;
237237
238- sinon . assert . calledOnceWithExactly ( llmChannel . disconnect , undefined ) ;
238+ assert . equal ( llmChannel . getLocusUrl ( ) , undefined ) ;
239239 } ) ;
240240
241241 it ( 'propagates disconnect errors' , async ( ) => {
242242 await llmChannel . registerAndConnect ( locusUrl , datachannelUrl ) ;
243- llmChannel . disconnect = sinon . stub ( ) . rejects ( new Error ( 'disconnect failed' ) ) ;
243+ // Change the existing stub to reject
244+ Object . getPrototypeOf ( Object . getPrototypeOf ( llmChannel ) ) . disconnect . rejects (
245+ new Error ( 'disconnect failed' )
246+ ) ;
244247
245248 try {
246- await llmChannel . disconnectLLM ( { code : 1000 , reason : 'test' } ) ;
249+ await llmChannel . disconnect ( { code : 1000 , reason : 'test' } ) ;
247250 assert . fail ( 'should have thrown' ) ;
248251 } catch ( error ) {
249252 assert . equal ( error . message , 'disconnect failed' ) ;
@@ -357,12 +360,12 @@ describe('plugin-llm', () => {
357360 assert . equal ( llmChannel . ownerMeetingId , undefined ) ;
358361 } ) ;
359362
360- it ( 'is cleared by disconnectLLM ' , async ( ) => {
363+ it ( 'is cleared by disconnect ' , async ( ) => {
361364 await llmChannel . registerAndConnect ( locusUrl , datachannelUrl ) ;
362365 llmChannel . ownerMeetingId = 'meeting-1' ;
363366 assert . equal ( llmChannel . ownerMeetingId , 'meeting-1' ) ;
364367
365- await llmChannel . disconnectLLM ( { code : 1000 , reason : 'test' } ) ;
368+ await llmChannel . disconnect ( { code : 1000 , reason : 'test' } ) ;
366369
367370 assert . equal ( llmChannel . ownerMeetingId , undefined ) ;
368371 } ) ;
0 commit comments