@@ -502,7 +502,7 @@ suite('Activation - ActivationService', () => {
502502 } ) ;
503503 } ) ;
504504
505- suite ( 'Test trackLangaugeServerSwitch ()' , ( ) => {
505+ suite ( 'Test sendTelemetryForChosenLanguageServer ()' , ( ) => {
506506 let serviceContainer : TypeMoq . IMock < IServiceContainer > ;
507507 let pythonSettings : TypeMoq . IMock < IPythonSettings > ;
508508 let appShell : TypeMoq . IMock < IApplicationShell > ;
@@ -578,33 +578,63 @@ suite('Activation - ActivationService', () => {
578578
579579 test ( 'Track current LS usage for first usage' , async ( ) => {
580580 state . reset ( ) ;
581- state . setup ( s => s . value ) . returns ( ( ) => undefined ) . verifiable ( TypeMoq . Times . once ( ) ) ;
582- state . setup ( s => s . updateValue ( TypeMoq . It . isValue ( true ) ) ) . returns ( ( ) => Promise . resolve ( ) ) . verifiable ( TypeMoq . Times . once ( ) ) ;
581+ state . setup ( s => s . value ) . returns ( ( ) => undefined )
582+ . verifiable ( TypeMoq . Times . exactly ( 2 ) ) ;
583+ state . setup ( s => s . updateValue ( TypeMoq . It . isValue ( true ) ) )
584+ . returns ( ( ) => {
585+ state . setup ( s => s . value ) . returns ( ( ) => true ) ;
586+ return Promise . resolve ( ) ;
587+ } )
588+ . verifiable ( TypeMoq . Times . once ( ) ) ;
583589
584590 const activationService = new LanguageServerExtensionActivationService ( serviceContainer . object , stateFactory . object , experiments . object ) ;
585- await activationService . trackLangaugeServerSwitch ( true ) ;
591+ await activationService . sendTelemetryForChosenLanguageServer ( true ) ;
586592
587593 state . verifyAll ( ) ;
588594 } ) ;
589595 test ( 'Track switch to LS' , async ( ) => {
590596 state . reset ( ) ;
591- state . setup ( s => s . value ) . returns ( ( ) => true ) . verifiable ( TypeMoq . Times . once ( ) ) ;
592- state . setup ( s => s . updateValue ( TypeMoq . It . isValue ( false ) ) ) . returns ( ( ) => Promise . resolve ( ) ) . verifiable ( TypeMoq . Times . once ( ) ) ;
597+ state . setup ( s => s . value )
598+ . returns ( ( ) => true )
599+ . verifiable ( TypeMoq . Times . exactly ( 2 ) ) ;
600+ state . setup ( s => s . updateValue ( TypeMoq . It . isValue ( false ) ) )
601+ . returns ( ( ) => Promise . resolve ( ) )
602+ . verifiable ( TypeMoq . Times . once ( ) ) ;
593603
594604 const activationService = new LanguageServerExtensionActivationService ( serviceContainer . object , stateFactory . object , experiments . object ) ;
595- await activationService . trackLangaugeServerSwitch ( false ) ;
605+ await activationService . sendTelemetryForChosenLanguageServer ( false ) ;
596606
597- state . verify ( s => s . updateValue ( TypeMoq . It . isValue ( false ) ) , TypeMoq . Times . once ( ) ) ;
607+ state . verifyAll ( ) ;
598608 } ) ;
599609 test ( 'Track switch to Jedi' , async ( ) => {
600610 state . reset ( ) ;
601- state . setup ( s => s . value ) . returns ( ( ) => false ) . verifiable ( TypeMoq . Times . once ( ) ) ;
602- state . setup ( s => s . updateValue ( TypeMoq . It . isValue ( true ) ) ) . returns ( ( ) => Promise . resolve ( ) ) . verifiable ( TypeMoq . Times . once ( ) ) ;
611+ state . setup ( s => s . value )
612+ . returns ( ( ) => false )
613+ . verifiable ( TypeMoq . Times . exactly ( 2 ) ) ;
614+ state . setup ( s => s . updateValue ( TypeMoq . It . isValue ( true ) ) )
615+ . returns ( ( ) => Promise . resolve ( ) )
616+ . verifiable ( TypeMoq . Times . once ( ) ) ;
603617
604618 const activationService = new LanguageServerExtensionActivationService ( serviceContainer . object , stateFactory . object , experiments . object ) ;
605- await activationService . trackLangaugeServerSwitch ( true ) ;
619+ await activationService . sendTelemetryForChosenLanguageServer ( true ) ;
606620
607- state . verify ( s => s . updateValue ( TypeMoq . It . isValue ( true ) ) , TypeMoq . Times . once ( ) ) ;
621+ state . verifyAll ( ) ;
622+ } ) ;
623+ test ( 'Track startup value' , async ( ) => {
624+ state . reset ( ) ;
625+ state
626+ . setup ( s => s . value )
627+ . returns ( ( ) => true )
628+ . verifiable ( TypeMoq . Times . exactly ( 2 ) ) ;
629+ state
630+ . setup ( s => s . updateValue ( TypeMoq . It . isAny ( ) ) )
631+ . returns ( ( ) => Promise . resolve ( ) )
632+ . verifiable ( TypeMoq . Times . never ( ) ) ;
633+
634+ const activationService = new LanguageServerExtensionActivationService ( serviceContainer . object , stateFactory . object , experiments . object ) ;
635+ await activationService . sendTelemetryForChosenLanguageServer ( true ) ;
636+
637+ state . verifyAll ( ) ;
608638 } ) ;
609639 } ) ;
610640
0 commit comments