@@ -13,6 +13,7 @@ import { UserCancellationException } from "../../../src/commandRunner";
1313import { ENABLE_TELEMETRY } from "../../../src/config" ;
1414import * as Config from "../../../src/config" ;
1515import { createMockExtensionContext } from "./index" ;
16+ import { redactableError } from "../../../src/pure/errors" ;
1617
1718// setting preferences can trigger lots of background activity
1819// so need to bump up the timeout of this test.
@@ -390,21 +391,29 @@ describe("telemetry reporting", () => {
390391 } ) ;
391392
392393 describe ( "when new telementry is not enabled" , ( ) => {
393- it ( "should not send a telementry event" , async ( ) => {
394+ it ( "should not send a ui-interaction telementry event" , async ( ) => {
394395 await telemetryListener . initialize ( ) ;
395396
396397 telemetryListener . sendUIInteraction ( "test" ) ;
397398
398399 expect ( sendTelemetryEventSpy ) . not . toBeCalled ( ) ;
399400 } ) ;
401+
402+ it ( "should not send an error telementry event" , async ( ) => {
403+ await telemetryListener . initialize ( ) ;
404+
405+ telemetryListener . sendError ( redactableError `test` ) ;
406+
407+ expect ( sendTelemetryEventSpy ) . not . toBeCalled ( ) ;
408+ } ) ;
400409 } ) ;
401410
402411 describe ( "when new telementry is enabled" , ( ) => {
403412 beforeEach ( async ( ) => {
404413 jest . spyOn ( Config , "newTelemetryEnabled" ) . mockReturnValue ( true ) ;
405414 } ) ;
406415
407- it ( "should not send a telementry event" , async ( ) => {
416+ it ( "should send a ui-interaction telementry event" , async ( ) => {
408417 await telemetryListener . initialize ( ) ;
409418
410419 telemetryListener . sendUIInteraction ( "test" ) ;
@@ -418,6 +427,22 @@ describe("telemetry reporting", () => {
418427 { } ,
419428 ) ;
420429 } ) ;
430+
431+ it ( "should send an error telementry event" , async ( ) => {
432+ await telemetryListener . initialize ( ) ;
433+
434+ telemetryListener . sendError ( redactableError `test` ) ;
435+
436+ expect ( sendTelemetryEventSpy ) . toHaveBeenCalledWith (
437+ "error" ,
438+ {
439+ message : "test" ,
440+ isCanary,
441+ stack : expect . any ( String ) ,
442+ } ,
443+ { } ,
444+ ) ;
445+ } ) ;
421446 } ) ;
422447
423448 async function enableTelemetry ( section : string , value : boolean | undefined ) {
0 commit comments