@@ -14,6 +14,7 @@ import {
1414 FollowUpSequences ,
1515 generateVirtualMemoryUri ,
1616 updateFilePaths ,
17+ waitForTelemetryCall ,
1718} from './utils'
1819import { CurrentWsFolders , NewFileInfo } from '../../amazonqDoc/types'
1920import { CodeGenState , docScheme , Session } from '../../amazonqDoc'
@@ -165,6 +166,7 @@ for (let i = 0; i < 1000; i++) {
165166 it ( 'should emit generation telemetry for initial README generation' , async ( ) => {
166167 await performAction ( 'generate' , getSessionStub )
167168
169+ await waitForTelemetryCall ( sendDocTelemetrySpy , 1 )
168170 const expectedEvent = createExpectedEvent ( {
169171 type : 'generation' ,
170172 ...EventMetrics . INITIAL_README ,
@@ -186,7 +188,7 @@ for (let i = 0; i < 1000; i++) {
186188 interactionType : 'GENERATE_README' ,
187189 conversationId : conversationID ,
188190 } )
189-
191+ await waitForTelemetryCall ( sendDocTelemetrySpy , 1 )
190192 await assertTelemetry ( {
191193 spy : sendDocTelemetrySpy ,
192194 expectedEvent : firstExpectedEvent ,
@@ -202,7 +204,7 @@ for (let i = 0; i < 1000; i++) {
202204 interactionType : 'GENERATE_README' ,
203205 conversationId : conversationID ,
204206 } )
205-
207+ await waitForTelemetryCall ( sendDocTelemetrySpy , 1 )
206208 await assertTelemetry ( {
207209 spy : sendDocTelemetrySpy ,
208210 expectedEvent : secondExpectedEvent ,
@@ -213,15 +215,15 @@ for (let i = 0; i < 1000; i++) {
213215
214216 it ( 'should emit acceptance telemetry for README generation' , async ( ) => {
215217 await performAction ( 'generate' , getSessionStub )
216- await new Promise ( ( resolve ) => setTimeout ( resolve , 100 ) )
218+ await waitForTelemetryCall ( sendDocTelemetrySpy , 1 )
219+ await performAction ( 'accept' , getSessionStub )
217220 const expectedEvent = createExpectedEvent ( {
218221 type : 'acceptance' ,
219222 ...EventMetrics . INITIAL_README ,
220223 interactionType : 'GENERATE_README' ,
221224 conversationId : conversationID ,
222225 } )
223-
224- await performAction ( 'accept' , getSessionStub )
226+ await waitForTelemetryCall ( sendDocTelemetrySpy , 2 )
225227 await assertTelemetry ( {
226228 spy : sendDocTelemetrySpy ,
227229 expectedEvent,
@@ -231,7 +233,7 @@ for (let i = 0; i < 1000; i++) {
231233 } )
232234 it ( 'should emit generation telemetry for README update' , async ( ) => {
233235 await performAction ( 'update' , getSessionStub )
234-
236+ await waitForTelemetryCall ( sendDocTelemetrySpy , 1 )
235237 const expectedEvent = createExpectedEvent ( {
236238 type : 'generation' ,
237239 ...EventMetrics . REPO_STRUCTURE ,
@@ -247,13 +249,13 @@ for (let i = 0; i < 1000; i++) {
247249 } )
248250 it ( 'should emit another generation telemetry for make changes operation after README update' , async ( ) => {
249251 await performAction ( 'update' , getSessionStub )
250- await new Promise ( ( resolve ) => setTimeout ( resolve , 100 ) )
252+ await waitForTelemetryCall ( sendDocTelemetrySpy , 1 )
251253
252254 modifiedReadme = ReadmeBuilder . createReadmeWithDataFlow ( )
253255 await updateFilePaths ( session , modifiedReadme , uploadID , docScheme , controllerSetup . workspaceFolder )
254256
255257 await performAction ( 'makeChanges' , getSessionStub , 'add data flow section' )
256-
258+ await waitForTelemetryCall ( sendDocTelemetrySpy , 2 )
257259 const expectedEvent = createExpectedEvent ( {
258260 type : 'generation' ,
259261 ...EventMetrics . DATA_FLOW ,
@@ -272,16 +274,17 @@ for (let i = 0; i < 1000; i++) {
272274
273275 it ( 'should emit acceptance telemetry for README update' , async ( ) => {
274276 await performAction ( 'update' , getSessionStub )
275- await new Promise ( ( resolve ) => setTimeout ( resolve , 100 ) )
277+ await waitForTelemetryCall ( sendDocTelemetrySpy , 1 )
276278
279+ await performAction ( 'accept' , getSessionStub )
280+ await waitForTelemetryCall ( sendDocTelemetrySpy , 2 )
277281 const expectedEvent = createExpectedEvent ( {
278282 type : 'acceptance' ,
279283 ...EventMetrics . REPO_STRUCTURE ,
280284 interactionType : 'UPDATE_README' ,
281285 conversationId : conversationID ,
282286 } )
283287
284- await performAction ( 'accept' , getSessionStub )
285288 await assertTelemetry ( {
286289 spy : sendDocTelemetrySpy ,
287290 expectedEvent,
@@ -292,7 +295,7 @@ for (let i = 0; i < 1000; i++) {
292295
293296 it ( 'should emit generation telemetry for README edit' , async ( ) => {
294297 await performAction ( 'edit' , getSessionStub , 'add repository structure section' )
295-
298+ await waitForTelemetryCall ( sendDocTelemetrySpy , 1 )
296299 const expectedEvent = createExpectedEvent ( {
297300 type : 'generation' ,
298301 ...EventMetrics . REPO_STRUCTURE ,
@@ -308,16 +311,16 @@ for (let i = 0; i < 1000; i++) {
308311 } )
309312 it ( 'should emit acceptance telemetry for README edit' , async ( ) => {
310313 await performAction ( 'edit' , getSessionStub , 'add repository structure section' )
311- await new Promise ( ( resolve ) => setTimeout ( resolve , 100 ) )
312-
314+ await waitForTelemetryCall ( sendDocTelemetrySpy , 1 )
315+ await performAction ( 'accept' , getSessionStub )
316+ await waitForTelemetryCall ( sendDocTelemetrySpy , 2 )
313317 const expectedEvent = createExpectedEvent ( {
314318 type : 'acceptance' ,
315319 ...EventMetrics . REPO_STRUCTURE ,
316320 interactionType : 'EDIT_README' ,
317321 conversationId : conversationID ,
318322 } )
319323
320- await performAction ( 'accept' , getSessionStub )
321324 await assertTelemetry ( {
322325 spy : sendDocTelemetrySpy ,
323326 expectedEvent,
0 commit comments