Unified · Split
| @@ -55,8 +55,8 @@ scenario( · 54 unmodified lines | ||
| 55 | 55 | await headerName.waitFor(); |
| 56 | 56 | }); |
| 57 | 57 | |
| 58 | − await step("Add the source with both methods", async () => { | |
| 59 | − await page.getByRole("button", { name: "Add source" }).click(); | |
| 58 | + await step("Add the integration with both methods", async () => { | |
| 59 | + await page.getByRole("button", { name: "Add integration" }).click(); | |
| 60 | 60 | // onComplete routes to the new integration's detail hub. |
| 61 | 61 | await page.waitForURL(/\/integrations\/(?!add\b)[^/?]+$/, { timeout: 30_000 }); |
| 62 | 62 | await page.getByText("Connections").first().waitFor(); |
| @@ -26,7 +26,7 @@ scenario( · 25 unmodified lines | ||
| 26 | 26 | const dialog = page.getByRole("dialog", { name: "Connect an integration" }); |
| 27 | 27 | await dialog.getByRole("link", { name: /^Google Photos\b/ }).click(); |
| 28 | 28 | await page.waitForURL(/\/integrations\/add\/google/); |
| 29 | − await page.getByRole("heading", { name: "Add Google" }).waitFor(); | |
| 29 | + await page.getByRole("heading", { name: "Add Google integration" }).waitFor(); | |
| 30 | 30 | }); |
| 31 | 31 | |
| 32 | 32 | await step("The Photos preset defaults to the focused namespace and products", async () => { |
| @@ -44,8 +44,8 @@ scenario( · 43 unmodified lines | ||
| 44 | 44 | await page.getByText("Method 1 · Detected").waitFor(); |
| 45 | 45 | }); |
| 46 | 46 | |
| 47 | − await step("Add the source", async () => { | |
| 48 | − await page.getByRole("button", { name: "Add source" }).click(); | |
| 47 | + await step("Add the integration", async () => { | |
| 48 | + await page.getByRole("button", { name: "Add integration" }).click(); | |
| 49 | 49 | await page.waitForURL(/\/integrations\/(?!add\b)[^/?]+$/, { timeout: 30_000 }); |
| 50 | 50 | await page.getByText("Connections").first().waitFor(); |
| 51 | 51 | }); |
| @@ -45,7 +45,7 @@ scenario( · 44 unmodified lines | ||
| 45 | 45 | await page.goto("/integrations/add/google", { |
| 46 | 46 | waitUntil: "domcontentloaded", |
| 47 | 47 | }); |
| 48 | − await page.getByRole("heading", { name: "Add Google" }).waitFor(); | |
| 48 | + await page.getByRole("heading", { name: "Add Google integration" }).waitFor(); | |
| 49 | 49 | await page.getByText("Customize your Google connection").waitFor(); |
| 50 | 50 | await page.getByText("Gmail").first().waitFor(); |
| 51 | 51 | await page.getByText("Google Calendar").first().waitFor(); |
| @@ -55,7 +55,7 @@ scenario( · 3 unmodified lines | ||
| 55 | 55 | await page.goto("/integrations/add/microsoft", { |
| 56 | 56 | waitUntil: "domcontentloaded", |
| 57 | 57 | }); |
| 58 | − await page.getByRole("heading", { name: "Add Microsoft Graph" }).waitFor(); | |
| 58 | + await page.getByRole("heading", { name: "Add Microsoft integration" }).waitFor(); | |
| 59 | 59 | await page.getByText("Customize Microsoft Graph").waitFor(); |
| 60 | 60 | expect(await page.getByText("All Microsoft Graph", { exact: true }).count()).toBe(0); |
| 61 | 61 | await page.getByText("Productivity").waitFor(); |
| @@ -64,8 +64,8 @@ scenario( · 63 unmodified lines | ||
| 64 | 64 | await page.getByPlaceholder("Authorization").last().waitFor(); |
| 65 | 65 | }); |
| 66 | 66 | |
| 67 | − await step("Add the source with both methods", async () => { | |
| 68 | − await page.getByRole("button", { name: "Add source" }).click(); | |
| 67 | + await step("Add the integration with both methods", async () => { | |
| 68 | + await page.getByRole("button", { name: "Add integration" }).click(); | |
| 69 | 69 | await page.waitForURL(/\/integrations\/(?!add\b)[^/?]+$/, { |
| 70 | 70 | timeout: 30_000, |
| 71 | 71 | }); |
| @@ -67,9 +67,9 @@ scenario( · 66 unmodified lines | ||
| 67 | 67 | await page.getByText("Auth required").first().waitFor(); |
| 68 | 68 | }); |
| 69 | 69 | |
| 70 | − await step("Add the source with the declared method", async () => { | |
| 70 | + await step("Add the integration with the declared method", async () => { | |
| 71 | 71 | await page.getByPlaceholder("e.g. Linear").fill(name); |
| 72 | − await page.getByRole("button", { name: "Add source" }).click(); | |
| 72 | + await page.getByRole("button", { name: "Add integration" }).click(); | |
| 73 | 73 | // onComplete routes to the new integration's detail hub. |
| 74 | 74 | await page.waitForURL(/\/integrations\/(?!add\b)[^/?]+$/, { timeout: 30_000 }); |
| 75 | 75 | const landedSlug = new URL(page.url()).pathname.split("/").filter(Boolean).at(-1); |
| @@ -42,9 +42,9 @@ scenario( · 41 unmodified lines | ||
| 42 | 42 | await page.getByText("OAuth metadata is discovered from this server").waitFor(); |
| 43 | 43 | }); |
| 44 | 44 | |
| 45 | − await step("Add the PostHog MCP source", async () => { | |
| 45 | + await step("Add the PostHog MCP integration", async () => { | |
| 46 | 46 | await page.getByPlaceholder("e.g. Linear").fill(displayName); |
| 47 | − await page.getByRole("button", { name: "Add source" }).click(); | |
| 47 | + await page.getByRole("button", { name: "Add integration" }).click(); | |
| 48 | 48 | await page.waitForURL(/\/integrations\/(?!add\b)[^/?]+$/, { timeout: 30_000 }); |
| 49 | 49 | const landedSlug = new URL(page.url()).pathname.split("/").filter(Boolean).at(-1); |
| 50 | 50 | expect(landedSlug, "the add flow lands on the created integration").toBe(String(slug)); |