Skip to content

Commit 4227ff6

Browse files
Mock env.itTelemetryEnable
1 parent ca96cdf commit 4227ff6

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

extensions/ql-vscode/test/vscode-tests/no-workspace/telemetry.test.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
workspace,
55
ConfigurationTarget,
66
window,
7+
env,
78
} from "vscode";
89
import {
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

Comments
 (0)