mirror of
https://github.com/paperclipai/paperclip.git
synced 2026-10-28 12:04:41 +01:00
test(apps): assert current connection routes
Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
1 parent
ca1696bfcd
commit
59dcb5f294
2 files changed
+4
-5
No files matched your search
@@ -108,7 +108,7 @@ test.describe.serial("applications lifecycle", () => {
|
||||
|
||||
await connectedRow.getByRole("button", { name: /^(Edit|Reconnect)$/ }).click();
|
||||
await expect(page).toHaveURL(
|
||||
new RegExp(`/${seed.prefix}/apps/app/${connected.applicationId}/setup$`),
|
||||
new RegExp(`/${seed.prefix}/apps/${connected.id}/setup$`),
|
||||
{ timeout: 20_000 },
|
||||
);
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import { listenOnFetchAllowedPort } from "./fetch-allowed-port";
|
||||
|
||||
// prosumer MCP flow — QA harness for the prosumer Connect-an-app flow on top of the
|
||||
// tool-access foundation. Covers the M-series happy path (gallery + key paste
|
||||
// → choose actions → who-can-use → success), the expired-key reconnect path,
|
||||
// → choose access → install → success), the expired-key reconnect path,
|
||||
// the Needs-attention surface, and a regression check that /apps/advanced
|
||||
// still mounts.
|
||||
//
|
||||
@@ -32,8 +32,7 @@ async function newCompany(request: APIRequestContext, label: string): Promise<Se
|
||||
// ---- Mock MCP HTTP fixture --------------------------------------------------
|
||||
// Minimal MCP JSON-RPC server. /catalog refresh hits this with method
|
||||
// `tools/list`; the gateway calls it with `tools/call`. We expose one
|
||||
// read-only and one write tool so the wizard can show the Ask-first toggle
|
||||
// for write actions.
|
||||
// read-only and one write tool so setup can apply risk-based ask-first defaults.
|
||||
|
||||
type MockMcpServer = { url: string; close: () => Promise<void>; captures: Array<{ method: string; params: unknown }> };
|
||||
|
||||
@@ -228,7 +227,7 @@ test.describe.serial("prosumer MCP flow prosumer MCP flow", () => {
|
||||
// Needs-attention page should surface this connection.
|
||||
await gotoNeedsAttention(page, seed.prefix);
|
||||
await expect(page.getByRole("heading", { name: "Connections" })).toBeVisible({ timeout: 30_000 });
|
||||
await expect(page.getByText(/app needs attention/i).first()).toBeVisible({ timeout: 30_000 });
|
||||
await expect(page.getByText(/connection needs attention/i).first()).toBeVisible({ timeout: 30_000 });
|
||||
await page.screenshot({ path: `${SCREENSHOT_DIR}/prosumer-mcp-07-needs-attention.png`, fullPage: true });
|
||||
|
||||
// App detail should expose the reconnect call-to-action.
|
||||
|
||||
Reference in new issue
Block a user