diff --git a/e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-edit.png b/e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-edit.png index 93fd2ef9..33356fdc 100644 Binary files a/e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-edit.png and b/e2e/__screenshots__/vendors/vendors.visual.spec.ts/vendor-edit.png differ diff --git a/e2e/vendors/vendors.spec.ts b/e2e/vendors/vendors.spec.ts index d1263828..f242b7cf 100644 --- a/e2e/vendors/vendors.spec.ts +++ b/e2e/vendors/vendors.spec.ts @@ -469,11 +469,13 @@ test.describe("Vendor directory prototype parity", () => { await page.getByRole("button", { name: "Add technician" }).click(); await page.getByLabel("Technician name (optional)").last().fill("New Technician"); const tradeInput = page.getByRole("combobox", { name: "Add Trade" }).last(); - await tradeInput.fill("HVAC"); - await tradeInput.press("Enter"); await tradeInput.fill("Plumbing"); await tradeInput.press("Enter"); - await page.getByRole("button", { name: "Move Plumbing up" }).click(); + await tradeInput.fill("HVAC"); + await tradeInput.press("Enter"); + await expect(page.getByRole("button", { name: /Move (Plumbing|HVAC) (up|down)/ })).toHaveCount( + 0, + ); await page.getByLabel("Notes (optional)").fill("Created in browser E2E"); await page.getByRole("button", { name: "Add Vendor", exact: true }).last().click(); await expect(page.getByRole("dialog", { name: /Add Vendor/ })).toHaveCount(0); diff --git a/src/app/(protected)/vendors/_components/vendor-trade-specialties-field.tsx b/src/app/(protected)/vendors/_components/vendor-trade-specialties-field.tsx index 11a7ea4b..88f258dd 100644 --- a/src/app/(protected)/vendors/_components/vendor-trade-specialties-field.tsx +++ b/src/app/(protected)/vendors/_components/vendor-trade-specialties-field.tsx @@ -1,8 +1,6 @@ import { useRef, useState } from "react"; import { Controller, type Control } from "react-hook-form"; import AddIcon from "@mui/icons-material/Add"; -import ArrowDownwardIcon from "@mui/icons-material/ArrowDownward"; -import ArrowUpwardIcon from "@mui/icons-material/ArrowUpward"; import CloseIcon from "@mui/icons-material/Close"; import { Autocomplete, @@ -116,7 +114,7 @@ export function VendorTradeSpecialtiesField({ Trade Specialties - First trade is primary. Reorder with the arrows. + First trade is primary. { - const target = tradeIndex + direction; - if (target < 0 || target >= trades.length) return; - const next = [...trades]; - [next[tradeIndex], next[target]] = [next[target], next[tradeIndex]]; - commit(next); - }; - return ( @@ -211,32 +201,6 @@ export function VendorTradeSpecialtiesField({ - {trades.length > 1 && ( - - {trades.map((trade, tradeIndex) => ( - - {tradeIndex > 0 && ( - - )} - {tradeIndex < trades.length - 1 && ( - - )} - - ))} - - )} ); }} diff --git a/src/test/app/(protected)/vendors/vendor-trade-specialties-field.test.tsx b/src/test/app/(protected)/vendors/vendor-trade-specialties-field.test.tsx index 03990707..0738fb69 100644 --- a/src/test/app/(protected)/vendors/vendor-trade-specialties-field.test.tsx +++ b/src/test/app/(protected)/vendors/vendor-trade-specialties-field.test.tsx @@ -68,6 +68,23 @@ function typeAndCommitTrade(input: HTMLElement, value: string, commit: "enter" | } describe("VendorTradeSpecialtiesField", () => { + it("does not expose obsolete reorder actions for multiple trades", () => { + const valuesRef = { current: "" }; + renderWithProviders( + , + ); + + expect(screen.getByText("Plumbing (primary)")).toBeInTheDocument(); + expect(screen.getByText("HVAC")).toBeInTheDocument(); + expect(screen.queryByRole("button", { name: /move .* (up|down)/i })).toBeNull(); + expect(screen.queryByText(/reorder with the arrows/i)).toBeNull(); + expect(valuesRef.current).toBe("Plumbing, HVAC"); + }); + it("offers facet trades as selectable options when the facets query is populated", async () => { const valuesRef = { current: "" }; renderWithProviders(