@@ -258,6 +258,14 @@ describe('Controller', () => {
258258
259259 assertTelemetry ( 'amazonq_endChat' , { amazonqConversationId : conversationID , result : 'Succeeded' } )
260260 } )
261+
262+ it ( 'disableFileList is called' , async ( ) => {
263+ const disableFileListSpy = sinon . stub ( session , 'disableFileList' ) . resolves ( )
264+
265+ await newTaskClicked ( )
266+
267+ assert . ok ( disableFileListSpy . calledOnce )
268+ } )
261269 } )
262270
263271 describe ( 'fileClicked' , ( ) => {
@@ -437,11 +445,13 @@ describe('Controller', () => {
437445 const sendAnswerSpy = sinon . stub ( controllerSetup . messenger , 'sendAnswer' )
438446 const sendErrorMessageSpy = sinon . stub ( controllerSetup . messenger , 'sendErrorMessage' )
439447 const sendMonthlyLimitErrorSpy = sinon . stub ( controllerSetup . messenger , 'sendMonthlyLimitError' )
448+ const disableFileListSpy = sinon . stub ( session , 'disableFileList' ) . resolves ( )
440449
441450 await fireChatMessage ( )
442451
443452 switch ( error . constructor . name ) {
444453 case ContentLengthError . name :
454+ assert . ok ( disableFileListSpy . calledOnce )
445455 assert . ok (
446456 sendAnswerSpy . calledWith ( {
447457 type : 'answer' ,
@@ -452,13 +462,15 @@ describe('Controller', () => {
452462 )
453463 break
454464 case MonthlyConversationLimitError . name :
465+ assert . ok ( disableFileListSpy . calledOnce )
455466 assert . ok ( sendMonthlyLimitErrorSpy . calledWith ( tabID ) )
456467 break
457468 case FeatureDevServiceError . name :
458469 case UploadCodeError . name :
459470 case UserMessageNotFoundError . name :
460471 case TabIdNotFoundError . name :
461472 case PrepareRepoFailedError . name :
473+ assert . ok ( disableFileListSpy . calledOnce )
462474 assert . ok (
463475 sendErrorMessageSpy . calledWith (
464476 createTestErrorMessage ( error . message ) ,
@@ -470,6 +482,7 @@ describe('Controller', () => {
470482 break
471483 case PromptRefusalException . name :
472484 case ZipFileError . name :
485+ assert . ok ( disableFileListSpy . calledOnce )
473486 assert . ok (
474487 sendErrorMessageSpy . calledWith (
475488 createTestErrorMessage ( error . message ) ,
@@ -481,8 +494,19 @@ describe('Controller', () => {
481494 )
482495 break
483496 case NoChangeRequiredException . name :
497+ assert . ok ( disableFileListSpy . calledTwice )
498+ assert . ok (
499+ sendAnswerSpy . calledWith ( {
500+ type : 'answer' ,
501+ tabID,
502+ message : error . message ,
503+ canBeVoted : true ,
504+ } )
505+ )
506+ break
484507 case CodeIterationLimitError . name :
485508 case UploadURLExpired . name :
509+ assert . ok ( disableFileListSpy . calledOnce )
486510 assert . ok (
487511 sendAnswerSpy . calledWith ( {
488512 type : 'answer' ,
@@ -493,6 +517,7 @@ describe('Controller', () => {
493517 )
494518 break
495519 default :
520+ assert . ok ( disableFileListSpy . calledOnce )
496521 assert . ok (
497522 sendErrorMessageSpy . calledWith (
498523 i18n ( 'AWS.amazonq.featureDev.error.codeGen.default' ) ,
@@ -524,4 +549,36 @@ describe('Controller', () => {
524549 assertTelemetry ( 'ui_click' , { elementId : 'amazonq_stopCodeGeneration' } )
525550 } )
526551 } )
552+
553+ describe ( 'closeSession' , async ( ) => {
554+ async function closeSessionClicked ( ) {
555+ const getSessionStub = sinon . stub ( controllerSetup . sessionStorage , 'getSession' ) . resolves ( session )
556+
557+ controllerSetup . emitters . followUpClicked . fire ( {
558+ tabID,
559+ followUp : {
560+ type : FollowUpTypes . CloseSession ,
561+ } ,
562+ } )
563+
564+ // Wait until the controller has time to process the event
565+ await waitUntil ( ( ) => {
566+ return Promise . resolve ( getSessionStub . callCount > 0 )
567+ } , { } )
568+ }
569+
570+ it ( 'end chat telemetry is sent' , async ( ) => {
571+ await closeSessionClicked ( )
572+
573+ assertTelemetry ( 'amazonq_endChat' , { amazonqConversationId : conversationID , result : 'Succeeded' } )
574+ } )
575+
576+ it ( 'disableFileList is called' , async ( ) => {
577+ const disableFileListSpy = sinon . stub ( session , 'disableFileList' ) . resolves ( )
578+
579+ await closeSessionClicked ( )
580+
581+ assert . ok ( disableFileListSpy . calledOnce )
582+ } )
583+ } )
527584} )
0 commit comments