@@ -177,7 +177,7 @@ suite('Experimentation service', () => {
177
177
telemetryEvents . push ( telemetry ) ;
178
178
} ) ;
179
179
180
- getTreatmentVariable = sinon . stub ( ) . returns ( Promise . resolve ( true ) ) ;
180
+ getTreatmentVariable = sinon . stub ( ) . returns ( true ) ;
181
181
sinon . stub ( tasClient , 'getExperimentationService' ) . returns ( ( {
182
182
getTreatmentVariable,
183
183
} as unknown ) as tasClient . IExperimentationService ) ;
@@ -205,6 +205,37 @@ suite('Experimentation service', () => {
205
205
sinon . assert . calledOnce ( getTreatmentVariable ) ;
206
206
} ) ;
207
207
208
+ test ( 'If in control group, return false' , async ( ) => {
209
+ sinon . restore ( ) ;
210
+ sendTelemetryEventStub = sinon
211
+ . stub ( Telemetry , 'sendTelemetryEvent' )
212
+ . callsFake ( ( eventName : string , _ , properties : unknown ) => {
213
+ const telemetry = { eventName, properties } ;
214
+ telemetryEvents . push ( telemetry ) ;
215
+ } ) ;
216
+
217
+ // Control group returns false.
218
+ getTreatmentVariable = sinon . stub ( ) . returns ( false ) ;
219
+ sinon . stub ( tasClient , 'getExperimentationService' ) . returns ( ( {
220
+ getTreatmentVariable,
221
+ } as unknown ) as tasClient . IExperimentationService ) ;
222
+
223
+ configureApplicationEnvironment ( 'stable' , extensionVersion ) ;
224
+
225
+ configureSettings ( true , [ ] , [ ] ) ;
226
+
227
+ const experimentService = new ExperimentService (
228
+ instance ( workspaceService ) ,
229
+ instance ( appEnvironment ) ,
230
+ instance ( stateFactory ) ,
231
+ ) ;
232
+ const result = experimentService . inExperimentSync ( experiment ) ;
233
+
234
+ assert . isFalse ( result ) ;
235
+ sinon . assert . notCalled ( sendTelemetryEventStub ) ;
236
+ sinon . assert . calledOnce ( getTreatmentVariable ) ;
237
+ } ) ;
238
+
208
239
test ( 'If the experiment setting is disabled, inExperiment should return false' , async ( ) => {
209
240
configureSettings ( false , [ ] , [ ] ) ;
210
241
0 commit comments