diff --git a/ui/src/lib/company-routes.test.ts b/ui/src/lib/company-routes.test.ts index d6dc2668..ced25744 100644 --- a/ui/src/lib/company-routes.test.ts +++ b/ui/src/lib/company-routes.test.ts @@ -20,4 +20,29 @@ describe("company routes", () => { "/execution-workspaces/workspace-123", ); }); + + /** + * Regression tests for https://github.com/paperclipai/paperclip/issues/2910 + * + * The Export and Import links on the Company Settings page used plain + * `` anchors which bypass the router's Link + * wrapper. Without the wrapper, the company prefix is never applied and + * the links resolve to `/company/export` instead of `/:prefix/company/export`, + * producing a "Company not found" error. + * + * The fix replaces the `` elements with the prefix-aware `` from + * `@/lib/router`. These tests assert that the underlying `applyCompanyPrefix` + * utility (used by that Link) correctly rewrites the export/import paths. + */ + it("applies company prefix to /company/export", () => { + expect(applyCompanyPrefix("/company/export", "PAP")).toBe("/PAP/company/export"); + }); + + it("applies company prefix to /company/import", () => { + expect(applyCompanyPrefix("/company/import", "PAP")).toBe("/PAP/company/import"); + }); + + it("does not double-apply the prefix if already present", () => { + expect(applyCompanyPrefix("/PAP/company/export", "PAP")).toBe("/PAP/company/export"); + }); }); diff --git a/ui/src/pages/CompanySettings.tsx b/ui/src/pages/CompanySettings.tsx index e0db3706..30b39627 100644 --- a/ui/src/pages/CompanySettings.tsx +++ b/ui/src/pages/CompanySettings.tsx @@ -1,4 +1,5 @@ import { ChangeEvent, useEffect, useState } from "react"; +import { Link } from "@/lib/router"; import { useMutation, useQueryClient } from "@tanstack/react-query"; import { DEFAULT_FEEDBACK_DATA_SHARING_TERMS_VERSION } from "@paperclipai/shared"; import { useCompany } from "../context/CompanyContext"; @@ -548,16 +549,16 @@ export function CompanySettings() {