mirror of
https://github.com/andrewyng/openworker.git
synced 2026-08-30 22:53:41 +00:00
e2e: catalog count 13, obsidian at list tail behind show-all
This commit is contained in:
@@ -52,7 +52,7 @@ test("+ Add a source: full catalog on focus, filter as you type → connect-in-c
|
||||
const search = page.getByTestId("access-add-search");
|
||||
await expect(search).toBeFocused();
|
||||
const rows = page.locator('[data-testid^="access-add-"]:not([data-testid="access-add-search"])');
|
||||
await expect(rows).toHaveCount(9); // 12 in the catalog − browser/slack/github (connected)
|
||||
await expect(rows).toHaveCount(10); // 13 in the catalog − browser/slack/github (connected)
|
||||
await expect(page.getByTestId("access-add-notion")).toBeVisible();
|
||||
|
||||
// Already-connected sources don't match (Slack and GitHub are connected in fixtures)…
|
||||
@@ -63,7 +63,7 @@ test("+ Add a source: full catalog on focus, filter as you type → connect-in-c
|
||||
|
||||
// …and clearing the query restores the full list ("filter as you type", not search-only).
|
||||
await search.fill("");
|
||||
await expect(rows).toHaveCount(9);
|
||||
await expect(rows).toHaveCount(10);
|
||||
|
||||
// Capability aliases match too: "calendar" surfaces Outlook (title alone never would).
|
||||
await search.fill("calendar");
|
||||
|
||||
@@ -138,7 +138,6 @@ const CONNECTORS = {
|
||||
connectors: [
|
||||
{ name: "browser", title: "Browser", icon: "B", blurb: "Headless browser.", auth: "none", two_way: false, channels: false, available: true, brand_color: "#6b7280", logo: "", fields: [], instructions: [], connected: true, account: null, enabled: true, allowed_users: [], tools: [], managed: false, managed_profile: false },
|
||||
{ name: "telegram", title: "Telegram", icon: "T", blurb: "Two-way Telegram messaging.", auth: "bot_token", two_way: true, channels: true, available: true, brand_color: "#229ed9", logo: "telegram", fields: [{ key: "bot_token", label: "Bot token", secret: true, required: true, help: "", placeholder: "123456:ABC…" }], instructions: [], connected: false, account: null, enabled: false, allowed_users: [], tools: [], managed: false, managed_profile: false },
|
||||
{ name: "obsidian", title: "Obsidian", icon: "\u25c8", blurb: "Search, read, and write notes in your local vault \u2014 no account needed.", auth: "folder", two_way: false, channels: false, available: true, brand_color: "#7c3aed", logo: "obsidian", fields: [{ key: "vault_path", label: "Vault folder", secret: false, required: true, help: "The folder holding your notes.", placeholder: "~/Documents/MyVault", kind: "folder" }], instructions: ["Pick your vault folder \u2014 no account, no keys."], connected: false, account: null, enabled: false, allowed_users: [], tools: [], managed: false, managed_profile: false },
|
||||
// Managed-capable connector (one-click via cloud when signed in; manual paste otherwise).
|
||||
// Carries pre-connect detail copy (§38): about + access + tools drive available-detail.spec.ts.
|
||||
{ name: "gmail", title: "Gmail", icon: "✉", blurb: "Search, summarize, draft, and send email.", about: "Search, summarize, and send over your Gmail.", access: ["Reads and searches your mail.", "Sends email as you.", "Never deletes mail or changes account settings."], auth: "oauth", two_way: false, channels: false, available: true, brand_color: "#ea4335", logo: "gmail", fields: [{ key: "access_token", label: "OAuth access token", secret: true, required: true, help: "", placeholder: "" }], instructions: [], connected: false, account: null, enabled: false, allowed_users: [], tools: [{ name: "gmail_search", label: "Search mail", kind: "read", description: "Search messages.", enabled: true, requires_approval: false }, { name: "gmail_send", label: "Send email", kind: "write", description: "Send a message.", enabled: true, requires_approval: true }], managed: true, managed_profile: false },
|
||||
@@ -156,6 +155,7 @@ const CONNECTORS = {
|
||||
// (two-mode modal). Neither needs cloud sign-in.
|
||||
{ name: "monday", title: "monday.com", icon: "▦", blurb: "Read boards and items, track work, create items and post updates.", aliases: ["project management", "tasks", "boards"], auth: "oauth", two_way: false, channels: false, available: true, brand_color: "#6161ff", logo: "monday", mcp: true, fields: [], instructions: ["One click connects via monday.com sign-in in your browser.", "Sign-in is fully local — tokens stay on this Mac."], connected: false, account: null, enabled: false, allowed_users: [], tools: [{ name: "mcp__monday__get_board_info", label: "Read board", kind: "read", description: "Read a board's columns and groups.", enabled: true, requires_approval: false }, { name: "mcp__monday__create_item", label: "Create item", kind: "write", description: "Create an item on a board.", enabled: true, requires_approval: true }], managed: false, managed_profile: false },
|
||||
{ name: "jira", title: "Jira", icon: "◆", blurb: "Search, summarize, create, and update issues.", aliases: ["issues", "tickets", "atlassian"], auth: "api_token", two_way: false, channels: false, available: true, brand_color: "#0052cc", logo: "jira", mcp: true, fields: [{ key: "base_url", label: "Atlassian site URL", secret: false, required: true, help: "", placeholder: "" }, { key: "email", label: "Account email", secret: false, required: true, help: "", placeholder: "" }, { key: "api_token", label: "API token", secret: true, required: true, help: "", placeholder: "" }], instructions: [], connected: false, account: null, enabled: false, allowed_users: [], tools: [], managed: false, managed_profile: false },
|
||||
{ name: "obsidian", title: "Obsidian", icon: "\u25c8", blurb: "Search, read, and write notes in your local vault \u2014 no account needed.", auth: "folder", two_way: false, channels: false, available: true, brand_color: "#7c3aed", logo: "obsidian", fields: [{ key: "vault_path", label: "Vault folder", secret: false, required: true, help: "The folder holding your notes.", placeholder: "~/Documents/MyVault", kind: "folder" }], instructions: ["Pick your vault folder \u2014 no account, no keys."], connected: false, account: null, enabled: false, allowed_users: [], tools: [], managed: false, managed_profile: false },
|
||||
],
|
||||
};
|
||||
|
||||
|
||||
@@ -14,6 +14,8 @@ async function openConnectors(page) {
|
||||
test("obsidian: folder field, vault validation error, then connects", async ({ page }) => {
|
||||
await openConnectors(page);
|
||||
|
||||
// Obsidian sits at the catalog's tail — expand past the truncation fold first.
|
||||
await page.getByRole("button", { name: "show all" }).click();
|
||||
const card = page.getByTestId("connector-obsidian");
|
||||
await expect(card).toContainText("Obsidian");
|
||||
await card.getByRole("button", { name: "Connect" }).click();
|
||||
|
||||
Reference in New Issue
Block a user