(input: {
readonly target: TargetShape;
readonly browser: BrowserSurface;
readonly identity: Identity;
})
| 314 | }); |
| 315 | |
| 316 | const syncCollectFailureInConsole = (input: { |
| 317 | readonly target: TargetShape; |
| 318 | readonly browser: BrowserSurface; |
| 319 | readonly identity: Identity; |
| 320 | }) => |
| 321 | input.browser.session(input.identity, async ({ page, step }) => { |
| 322 | await step("Sync custom tools and see the collect diagnostic", async () => { |
| 323 | await page.goto(new URL("/integrations/repo?tab=source", input.target.baseUrl).toString(), { |
| 324 | waitUntil: "networkidle", |
| 325 | }); |
| 326 | await page.getByRole("button", { name: "Sync" }).click(); |
| 327 | await page.getByText("Sync failed.").waitFor({ timeout: 90_000 }); |
| 328 | await page |
| 329 | .locator("p") |
| 330 | .filter({ hasText: "collect: record export key" }) |
| 331 | .first() |
| 332 | .waitFor({ timeout: 90_000 }); |
| 333 | await page |
| 334 | .locator("p") |
| 335 | .filter({ hasText: /^0 tools$/ }) |
| 336 | .waitFor({ timeout: 90_000 }); |
| 337 | }); |
| 338 | }); |
| 339 | |
| 340 | const removeSourceThroughConsole = (input: { |
| 341 | readonly target: TargetShape; |
no test coverage detected