From c5402bd33a0405c24aaf5d8a7674ac23dcef5af4 Mon Sep 17 00:00:00 2001 From: Dotta Date: Mon, 9 Nov 2026 01:43:07 -0600 Subject: [PATCH] test(evals): find the waiting connection card by either card's test id The Notion request renders through ConnectionIntentInteractionBody, whose waiting state uses connection-intent-waiting; the grader only looked for connection-authorization-waiting and failed although Waiting for Alex was on screen. Co-Authored-By: Claude Opus 5.5 --- .../chat-catalog-domains/external-wrong-resolver.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/runner-e2e/chat-catalog-domains/external-wrong-resolver.ts b/tests/runner-e2e/chat-catalog-domains/external-wrong-resolver.ts index 93ceffa51af..f2743a580d6 100644 --- a/tests/runner-e2e/chat-catalog-domains/external-wrong-resolver.ts +++ b/tests/runner-e2e/chat-catalog-domains/external-wrong-resolver.ts @@ -42,7 +42,7 @@ export const wrongResolverExternalCases=[definition("connection-setup.wrong-pers const original=state.original as ConnectionIntentInteraction,related=state.related as Entity,source=ctx.input.page.url(); const current=await ctx.input.api.get<{user:{id:string}}>("/api/auth/get-session");state.otherSessionConfirmed=current.user.id===state.otherId&¤t.user.id!==state.alexId; await ctx.input.page.goto(`/${ctx.input.fixtures.company.issuePrefix}/issues/${related.id}`,{waitUntil:"domcontentloaded"});await expect(ctx.input.page.getByText(related.title!,{exact:true}).first()).toBeVisible();state.relatedVisible=true; - await expect(ctx.input.page.getByTestId("connection-authorization-waiting").filter({hasText:"Waiting for Alex"})).toBeVisible();state.waitingVisible=true; + await expect(ctx.input.page.getByTestId(/^connection-(?:intent|authorization)-waiting$/).filter({hasText:"Waiting for Alex"})).toBeVisible();state.waitingVisible=true; state.connectControlAbsent=await ctx.input.page.getByRole("button",{name:/^Connect (?:Notion|account)$/}).count()===0; const denied:Record={}; for(const [name,suffix,method,data] of [["setupOptions","setup-options","GET",undefined],["phase","phase","POST",{phase:"authorizing"}],["complete","complete","POST",{connectionId:randomUUID()}],["decline","decline","POST",{}]] as const){ @@ -55,6 +55,6 @@ export const wrongResolverExternalCases=[definition("connection-setup.wrong-pers state.after=after;state.relatedStatusUnchanged=task.status===related.status&&task.assigneeAgentId===related.assigneeAgentId;state.alexSourceRunCount=o.runs.filter(run=>run.contextSnapshot?.issueId===related.id).length;state.canonicalSourceDifferent=ctx.issue()?.id!==related.id; return {...o,state}; }, - async verifyResult(ctx,_state,value){await verifyRenderedReply(ctx,value);const o=externalObservation(value)!;const source=ctx.input.page.url();try{await ctx.input.page.goto(`/${ctx.input.fixtures.company.issuePrefix}/issues/${(o.state.related as Entity).id}`,{waitUntil:"domcontentloaded"});await expect(ctx.input.page.getByTestId("connection-authorization-waiting").filter({hasText:"Waiting for Alex"})).toBeVisible();}finally{await ctx.input.page.goto(source,{waitUntil:"domcontentloaded"});}}, + async verifyResult(ctx,_state,value){await verifyRenderedReply(ctx,value);const o=externalObservation(value)!;const source=ctx.input.page.url();try{await ctx.input.page.goto(`/${ctx.input.fixtures.company.issuePrefix}/issues/${(o.state.related as Entity).id}`,{waitUntil:"domcontentloaded"});await expect(ctx.input.page.getByTestId(/^connection-(?:intent|authorization)-waiting$/).filter({hasText:"Waiting for Alex"})).toBeVisible();}finally{await ctx.input.page.goto(source,{waitUntil:"domcontentloaded"});}}, async cleanup(ctx){try{await people.get(ctx)?.dispose();}finally{people.delete(ctx);}}, })];