(input: {
readonly target: TargetShape;
readonly browser: BrowserSurface;
readonly identity: Identity;
readonly expectedNotice: string;
readonly expectedToolCount: string;
})
| 293 | }); |
| 294 | |
| 295 | const syncSourceInConsole = (input: { |
| 296 | readonly target: TargetShape; |
| 297 | readonly browser: BrowserSurface; |
| 298 | readonly identity: Identity; |
| 299 | readonly expectedNotice: string; |
| 300 | readonly expectedToolCount: string; |
| 301 | }) => |
| 302 | input.browser.session(input.identity, async ({ page, step }) => { |
| 303 | await step(`Sync custom tools and see ${input.expectedNotice}`, async () => { |
| 304 | await page.goto(new URL("/integrations/repo?tab=source", input.target.baseUrl).toString(), { |
| 305 | waitUntil: "networkidle", |
| 306 | }); |
| 307 | await page.getByRole("button", { name: "Sync" }).click(); |
| 308 | await page.getByText(input.expectedNotice).waitFor({ timeout: 90_000 }); |
| 309 | await page |
| 310 | .locator("p") |
| 311 | .filter({ hasText: new RegExp(`^${input.expectedToolCount}$`) }) |
| 312 | .waitFor({ timeout: 90_000 }); |
| 313 | }); |
| 314 | }); |
| 315 | |
| 316 | const syncCollectFailureInConsole = (input: { |
| 317 | readonly target: TargetShape; |
no test coverage detected