44 workspace ,
55 ConfigurationTarget ,
66 window ,
7+ env ,
78} from "vscode" ;
89import {
910 ExtensionTelemetryListener ,
@@ -37,6 +38,11 @@ describe("telemetry reporting", () => {
3738 typeof TelemetryReporter . prototype . dispose
3839 > ;
3940
41+ let isTelemetryEnabledSpy : jest . SpyInstance <
42+ typeof env . isTelemetryEnabled ,
43+ [ ]
44+ > ;
45+
4046 let showInformationMessageSpy : jest . SpiedFunction <
4147 typeof window . showInformationMessage
4248 > ;
@@ -78,6 +84,9 @@ describe("telemetry reporting", () => {
7884 . get < boolean > ( "codeQL.canary" ) ) . toString ( ) ;
7985
8086 // each test will default to telemetry being enabled
87+ isTelemetryEnabledSpy = jest
88+ . spyOn ( env , "isTelemetryEnabled" , "get" )
89+ . mockReturnValue ( true ) ;
8190 await enableTelemetry ( "telemetry" , true ) ;
8291 await enableTelemetry ( "codeQL.telemetry" , true ) ;
8392
@@ -116,6 +125,7 @@ describe("telemetry reporting", () => {
116125 } ) ;
117126
118127 it ( "should initialize telemetry when global option disabled" , async ( ) => {
128+ isTelemetryEnabledSpy . mockReturnValue ( false ) ;
119129 await enableTelemetry ( "telemetry" , false ) ;
120130 await telemetryListener . initialize ( ) ;
121131 expect ( telemetryListener . _reporter ) . toBeDefined ( ) ;
@@ -133,6 +143,7 @@ describe("telemetry reporting", () => {
133143
134144 it ( "should not initialize telemetry when both options disabled" , async ( ) => {
135145 await enableTelemetry ( "codeQL.telemetry" , false ) ;
146+ isTelemetryEnabledSpy . mockReturnValue ( false ) ;
136147 await enableTelemetry ( "telemetry" , false ) ;
137148 await telemetryListener . initialize ( ) ;
138149 expect ( telemetryListener . _reporter ) . toBeUndefined ( ) ;
@@ -179,6 +190,7 @@ describe("telemetry reporting", () => {
179190 const reporter : any = telemetryListener . _reporter ;
180191 expect ( reporter . userOptIn ) . toBe ( true ) ; // enabled
181192
193+ isTelemetryEnabledSpy . mockReturnValue ( false ) ;
182194 await enableTelemetry ( "telemetry" , false ) ;
183195 expect ( reporter . userOptIn ) . toBe ( false ) ; // disabled
184196 } ) ;
@@ -344,6 +356,8 @@ describe("telemetry reporting", () => {
344356 resolveArg ( 3 /* "yes" item */ ) ,
345357 ) ;
346358 await ctx . globalState . update ( "telemetry-request-viewed" , false ) ;
359+ expect ( env . isTelemetryEnabled ) . toBe ( true ) ;
360+
347361 await enableTelemetry ( "codeQL.telemetry" , false ) ;
348362
349363 await telemetryListener . initialize ( ) ;
@@ -414,6 +428,7 @@ describe("telemetry reporting", () => {
414428 await ctx . globalState . update ( "telemetry-request-viewed" , false ) ;
415429
416430 await telemetryListener . initialize ( ) ;
431+ isTelemetryEnabledSpy . mockReturnValue ( false ) ;
417432
418433 // popup should not be shown even though we have initialized telemetry
419434 expect ( showInformationMessageSpy ) . not . toBeCalled ( ) ;
0 commit comments