@@ -89,7 +89,7 @@ describe('CreateExtension', () => {
8989 summary : { enabled : false , branding : { label : '' } } ,
9090 } ;
9191
92- it ( 'should be enabled if at least one language is configured' , async ( ) => {
92+ it ( 'should be enabled if at least one language is configured and AI features enabled ' , async ( ) => {
9393 httpMock . get . mockResolvedValueOnce ( { configuredLanguages : [ 'PPL' ] } ) ;
9494 const extension = createQueryAssistExtension (
9595 coreSetupMock ,
@@ -123,6 +123,36 @@ describe('CreateExtension', () => {
123123 } ) ;
124124 } ) ;
125125
126+ it ( 'should be disabled when AI features are disabled' , async ( ) => {
127+ const mockCoreSetup = {
128+ ...coreSetupMock ,
129+ getStartServices : jest . fn ( ) . mockResolvedValue ( [
130+ {
131+ ...coreMock . createStart ( ) ,
132+ uiSettings : {
133+ ...uiSettingsServiceMock . createStartContract ( ) ,
134+ get : jest . fn ( ) . mockReturnValue ( false ) ,
135+ } ,
136+ } ,
137+ { } ,
138+ { } ,
139+ ] ) ,
140+ } ;
141+ httpMock . get . mockResolvedValueOnce ( { configuredLanguages : [ 'PPL' ] } ) ;
142+ const extension = createQueryAssistExtension (
143+ mockCoreSetup ,
144+ dataMock ,
145+ config ,
146+ mockIsQuerySummaryCollapsed$ ,
147+ mockIsSummaryAgentAvailable$ ,
148+ mockresultSummaryEnabled$
149+ ) ;
150+ // Wait for assistantEnabled$ to be updated
151+ await new Promise ( ( resolve ) => setTimeout ( resolve , 0 ) ) ;
152+ const isEnabled = await firstValueFrom ( extension . isEnabled$ ( dependencies ) ) ;
153+ expect ( isEnabled ) . toBeFalsy ( ) ;
154+ } ) ;
155+
126156 it ( 'creates data structure meta' , async ( ) => {
127157 httpMock . get . mockResolvedValueOnce ( { configuredLanguages : [ 'PPL' ] } ) ;
128158 const extension = createQueryAssistExtension (
0 commit comments