@@ -42,6 +42,16 @@ function directText(element: Element | null | undefined): string | undefined {
|
42 | 42 | .trim(); |
43 | 43 | } |
44 | 44 | |
| 45 | +function expectAgentTab(container: Element, text: string): HTMLButtonElement { |
| 46 | +const button = Array.from(container.querySelectorAll<HTMLButtonElement>(".agent-tab")).find( |
| 47 | +(candidate) => directText(candidate) === text, |
| 48 | +); |
| 49 | +if (!(button instanceof HTMLButtonElement)) { |
| 50 | +throw new Error(`Expected agent tab "${text}"`); |
| 51 | +} |
| 52 | +return button; |
| 53 | +} |
| 54 | + |
45 | 55 | function createProps(overrides: Partial<AgentsProps> = {}): AgentsProps { |
46 | 56 | return { |
47 | 57 | basePath: "", |
@@ -284,11 +294,9 @@ describe("renderAgents", () => {
|
284 | 294 | ); |
285 | 295 | await Promise.resolve(); |
286 | 296 | |
287 | | -let skillsTab = Array.from(container.querySelectorAll<HTMLButtonElement>(".agent-tab")).find( |
288 | | -(button) => button.textContent?.includes("Skills"), |
289 | | -); |
| 297 | +let skillsTab = expectAgentTab(container, "Skills"); |
290 | 298 | |
291 | | -expect(skillsTab?.textContent?.trim()).toBe("Skills"); |
| 299 | +expect(skillsTab.textContent?.trim()).toBe("Skills"); |
292 | 300 | |
293 | 301 | render( |
294 | 302 | renderAgents( |
@@ -310,12 +318,10 @@ describe("renderAgents", () => {
|
310 | 318 | ); |
311 | 319 | await Promise.resolve(); |
312 | 320 | |
313 | | -skillsTab = Array.from(container.querySelectorAll<HTMLButtonElement>(".agent-tab")).find( |
314 | | -(button) => button.textContent?.includes("Skills"), |
315 | | -); |
| 321 | +skillsTab = expectAgentTab(container, "Skills"); |
316 | 322 | |
317 | 323 | expect(directText(skillsTab)).toBe("Skills"); |
318 | | -expect(skillsTab?.querySelector(".agent-tab-count")?.textContent).toBe("1"); |
| 324 | +expect(skillsTab.querySelector(".agent-tab-count")?.textContent).toBe("1"); |
319 | 325 | }); |
320 | 326 | |
321 | 327 | it("keeps the Cron Jobs tab label while localizing channel refresh never state", async () => { |
|