From 1271d3c11e30ebd5b415d69cea681a6ff55c7689 Mon Sep 17 00:00:00 2001 From: Codex Review Integration Date: Thu, 17 Sep 2026 02:56:31 -0300 Subject: [PATCH] feat(dashboard): dispatcher scope picker, status distribution, region drilldown, perf counts - SH-336: add the dispatcher-scope picker (All / My WOs / individual) for Scheduler/Admin via a new viewAllDispatchersOnDashboard role gate, a static 'My WOs' label for Dispatcher, and hide the dispatcher tables (and skip their queries) when the viewer cannot see all dispatchers. Scope drives dispatcherId on stats, workload, performance, and regions (SH-347 contract). - SH-352: add the Status Distribution module with its empty state and status drill-down. - SH-347: show Assigned/Completed counts and colour the completion rate (green >=90, amber 70-89, red <70) on Dispatcher Performance. - SH-348: drill a region bar into the board region filter; hold the unconfirmed 'Unmapped/Other' bucket off the chart. - SH-349: label Vendor Insights as all-time, company-wide. - Make the drilldown-filters effect fire only on URL change; add a deterministic clock to the status-drilldown test; add the dashboard visual regression spec and baselines. --- .../dashboard-admin.png | Bin 0 -> 140554 bytes .../dashboard-dispatcher.png | Bin 0 -> 119831 bytes e2e/dashboard/dashboard.visual.spec.ts | 256 ++++++++++++++++++ .../dashboard/_components/dashboard-card.tsx | 10 +- .../_components/dashboard-scope-picker.tsx | 118 ++++++++ .../dashboard/_components/dashboard-scope.ts | 21 ++ .../dispatcher-performance-card.tsx | 28 +- .../_components/status-distribution-card.tsx | 55 ++++ .../_components/vendor-insights-card.tsx | 1 + .../work-orders-by-region-card.tsx | 27 +- src/app/(protected)/dashboard/index.tsx | 107 ++++++-- .../_hooks/use-dashboard-drilldown-filters.ts | 11 +- src/domain/dashboard/api/dashboard-api.ts | 74 ++++- .../dashboard/types/dashboard-performance.ts | 2 + src/domain/dashboard/types/dashboard-stats.ts | 6 + .../use-cases/use-dashboard-performance.ts | 8 +- .../use-cases/use-dashboard-regions.ts | 5 +- .../use-cases/use-dashboard-stats.ts | 9 +- .../use-cases/use-dashboard-workload.ts | 8 +- .../utils/work-order-drilldown-links.ts | 9 + .../types/work-order-advanced-filters.ts | 3 + .../work-orders/types/work-order-board.ts | 2 + .../utils/advanced-filter-chip-builders.ts | 9 + .../utils/advanced-filters-utils.ts | 2 + .../work-orders/utils/board-query-params.ts | 1 + .../utils/dashboard-drilldown-params.ts | 13 + src/infra/query-key/query-key.ts | 14 +- src/lib/auth/user-utils.ts | 15 + .../dashboard/dashboard-page.test.tsx | 41 ++- .../domain/dashboard/dashboard-api.test.ts | 12 + .../work-order-drilldown-links.test.ts | 11 +- .../dashboard-drilldown-params.test.ts | 8 + src/test/lib/auth/user-utils.test.ts | 16 +- 33 files changed, 843 insertions(+), 59 deletions(-) create mode 100644 e2e/__screenshots__/dashboard/dashboard.visual.spec.ts/dashboard-admin.png create mode 100644 e2e/__screenshots__/dashboard/dashboard.visual.spec.ts/dashboard-dispatcher.png create mode 100644 e2e/dashboard/dashboard.visual.spec.ts create mode 100644 src/app/(protected)/dashboard/_components/dashboard-scope-picker.tsx create mode 100644 src/app/(protected)/dashboard/_components/dashboard-scope.ts create mode 100644 src/app/(protected)/dashboard/_components/status-distribution-card.tsx diff --git a/e2e/__screenshots__/dashboard/dashboard.visual.spec.ts/dashboard-admin.png b/e2e/__screenshots__/dashboard/dashboard.visual.spec.ts/dashboard-admin.png new file mode 100644 index 0000000000000000000000000000000000000000..215400e78318821d05b3be02784bd32995c8b143 GIT binary patch literal 140554 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

H+ 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 Ap#T5? literal 0 HcmV?d00001 diff --git a/e2e/__screenshots__/dashboard/dashboard.visual.spec.ts/dashboard-dispatcher.png b/e2e/__screenshots__/dashboard/dashboard.visual.spec.ts/dashboard-dispatcher.png new file mode 100644 index 0000000000000000000000000000000000000000..569425613d801da6c3bd7a2f61b5fa0478fbf84e GIT binary patch literal 119831 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 z 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 Pe6ob7%=28~H}C!*jnFJK literal 0 HcmV?d00001 diff --git a/e2e/dashboard/dashboard.visual.spec.ts b/e2e/dashboard/dashboard.visual.spec.ts new file mode 100644 index 00000000..ab51543b --- /dev/null +++ b/e2e/dashboard/dashboard.visual.spec.ts @@ -0,0 +1,256 @@ +import { expect, test, type Page, type Route } from "@playwright/test"; + +const FROZEN_NOW = "2026-08-19T15:00:00.000Z"; + +function testUser(userRoles: string) { + return { + token: "dashboard-visual-token", + expiration: "2030-01-01T00:00:00.000Z", + email: "admin@seahavenind.com", + userRoles, + phoneNumber: "5551234567", + fullname: "Dashboard Visual User", + id: "1", + }; +} + +const DISPATCHERS = [ + { id: "1", name: "Pat Dispatcher" }, + { id: "2", name: "Riley Chen" }, + { id: "3", name: "Sam Okafor" }, +]; + +const STATS = { + total: 128, + open: 52, + notDispatched: 8, + completed: 64, + dueCount: 40, + completedDueCount: 30, + completionRate: 82, + averageResolutionDays: 3.4, + scheduledTomorrow: 6, + pendingUplifts: 4, + avetaPending: 3, + breakdown: [ + { status: "PM", count: 24 }, + { status: "Emergency", count: 6 }, + { status: "Reactive", count: 12 }, + { status: "Overdue", count: 9 }, + ], + statusDistribution: [ + { status: "Scheduled", count: 30 }, + { status: "In Progress", count: 18 }, + { status: "Completed", count: 64 }, + { status: "Pending", count: 16 }, + ], +}; + +const WORKLOAD = { + items: [ + { + dispatcherId: "1", + dispatcherName: "Pat Dispatcher", + openWorkOrders: 12, + totalWorkOrders: 20, + }, + { dispatcherId: "2", dispatcherName: "Riley Chen", openWorkOrders: 7, totalWorkOrders: 15 }, + ], + page: 1, + pageSize: 10, + totalDispatchers: 2, +}; + +const PERFORMANCE = { + items: [ + { + dispatcherId: "1", + dispatcherName: "Pat Dispatcher", + completionRate: 94, + averageResolutionDays: 2.5, + assignedCount: 20, + completedCount: 18, + }, + { + dispatcherId: "2", + dispatcherName: "Riley Chen", + completionRate: 78, + averageResolutionDays: 3.1, + assignedCount: 15, + completedCount: 11, + }, + { + dispatcherId: "3", + dispatcherName: "Sam Okafor", + completionRate: 61, + averageResolutionDays: 4.4, + assignedCount: 9, + completedCount: 5, + }, + ], + page: 1, + pageSize: 10, + totalDispatchers: 3, +}; + +const REGIONS = { + items: [ + { region: "East", workOrderCount: 44 }, + { region: "Central", workOrderCount: 31 }, + { region: "West", workOrderCount: 22 }, + { region: "California", workOrderCount: 18 }, + { region: "Unmapped/Other", workOrderCount: 5 }, + ], +}; + +const VENDOR_INSIGHTS = { + items: [ + { + vendorId: "101", + vendorName: "Gateway Plumbing", + completionRate: 88, + rescheduleRate: 12, + averageResolutionDays: 2.9, + totalJobs: 40, + }, + { + vendorId: "102", + vendorName: "Summit HVAC", + completionRate: 76, + rescheduleRate: 20, + averageResolutionDays: 3.6, + totalJobs: 28, + }, + ], +}; + +const TREND = { + granularity: "week", + buckets: [ + { + date: "2026-07-27", + label: "Jul 27", + total: 18, + open: 4, + completed: 12, + canceled: 1, + overdue: 1, + isCurrent: false, + }, + { + date: "2026-08-03", + label: "Aug 3", + total: 22, + open: 6, + completed: 13, + canceled: 1, + overdue: 2, + isCurrent: false, + }, + { + date: "2026-08-10", + label: "Aug 10", + total: 26, + open: 8, + completed: 15, + canceled: 0, + overdue: 3, + isCurrent: false, + }, + { + date: "2026-08-17", + label: "Aug 17", + total: 20, + open: 9, + completed: 9, + canceled: 1, + overdue: 1, + isCurrent: true, + }, + ], +}; + +async function fulfillJson(route: Route, body: unknown, status = 200) { + await route.fulfill({ status, contentType: "application/json", body: JSON.stringify(body) }); +} + +async function mockDashboardApi(page: Page, userRoles: string) { + await page.clock.setFixedTime(new Date(FROZEN_NOW)); + await page.addInitScript( + (user) => localStorage.setItem("auth", JSON.stringify(user)), + testUser(userRoles), + ); + + await page.route("**/api/**", async (route) => { + const pathname = new URL(route.request().url()).pathname; + + // Only stub real backend calls; let Vite dev module requests (e.g. + // /src/domain/auth/api/*.ts) through untouched. + if (!pathname.startsWith("/api/")) { + await route.continue(); + return; + } + + if (pathname.includes("/Dashboard/Stats")) return fulfillJson(route, { data: STATS }); + if (pathname.includes("/Dashboard/Workload")) return fulfillJson(route, { data: WORKLOAD }); + if (pathname.includes("/Dashboard/Performance")) + return fulfillJson(route, { data: PERFORMANCE }); + if (pathname.includes("/Dashboard/Regions")) return fulfillJson(route, { data: REGIONS }); + if (pathname.includes("/Dashboard/VendorInsights")) { + return fulfillJson(route, { data: VENDOR_INSIGHTS }); + } + if (pathname.includes("/Dashboard/Trend")) return fulfillJson(route, { data: TREND }); + if (pathname.includes("/workorders/lookups/dispatchers")) { + return fulfillJson(route, { data: DISPATCHERS }); + } + + return fulfillJson(route, { data: [] }); + }); +} + +async function openDashboard(page: Page, userRoles: string) { + await mockDashboardApi(page, userRoles); + await page.goto("/"); + await page.evaluate(() => document.fonts.ready); + await page.addStyleTag({ + content: ` + *, *::before, *::after { transition: none !important; animation: none !important; } + .MuiDrawer-paper { transform: none !important; } + .Toastify__toast-container { display: none !important; } + .tsqd-parent-container { display: none !important; } + `, + }); +} + +async function expectStableScreenshot(page: Page, name: string) { + await page.waitForTimeout(250); + await page.evaluate( + () => + new Promise((resolve) => + requestAnimationFrame(() => requestAnimationFrame(() => resolve())), + ), + ); + await expect(page).toHaveScreenshot(name, { fullPage: true }); +} + +test.describe("Dashboard deterministic pixel regression", () => { + test("admin dashboard", async ({ page }) => { + await openDashboard(page, "Admin"); + await expect(page.getByRole("heading", { name: "Dashboard" })).toBeVisible(); + await expect(page.getByText("Status Distribution")).toBeVisible(); + await expect(page.getByText("Dispatcher Performance")).toBeVisible(); + // The scope picker is available to Admin/Scheduler (SH-336). + await expect(page.getByRole("button", { name: /All dispatchers/ })).toBeVisible(); + await expectStableScreenshot(page, "dashboard-admin.png"); + }); + + test("dispatcher scoped dashboard", async ({ page }) => { + await openDashboard(page, "Dispatcher"); + await expect(page.getByRole("heading", { name: "Dashboard" })).toBeVisible(); + // A Dispatcher gets the static "My WOs" label and no dispatcher tables (SH-336). + await expect(page.getByText("My WOs")).toBeVisible(); + await expect(page.getByText("Dispatcher Performance")).toHaveCount(0); + await expect(page.getByText("Status Distribution")).toBeVisible(); + await expectStableScreenshot(page, "dashboard-dispatcher.png"); + }); +}); diff --git a/src/app/(protected)/dashboard/_components/dashboard-card.tsx b/src/app/(protected)/dashboard/_components/dashboard-card.tsx index 71f40dfd..46938810 100644 --- a/src/app/(protected)/dashboard/_components/dashboard-card.tsx +++ b/src/app/(protected)/dashboard/_components/dashboard-card.tsx @@ -5,6 +5,8 @@ import { Text } from "@/components/ui/text"; interface DashboardCardProps { title: string; + /** Optional scope caption shown beside the title (e.g. SH-349's all-time note). */ + caption?: string; isLoading?: boolean; error?: unknown; isEmpty: boolean; @@ -14,6 +16,7 @@ interface DashboardCardProps { export function DashboardCard({ title, + caption, isLoading = false, error, isEmpty, @@ -22,8 +25,13 @@ export function DashboardCard({ }: DashboardCardProps) { return ( - + {title} + {!!caption && ( + + {caption} + + )} {isLoading && ( diff --git a/src/app/(protected)/dashboard/_components/dashboard-scope-picker.tsx b/src/app/(protected)/dashboard/_components/dashboard-scope-picker.tsx new file mode 100644 index 00000000..66c63dae --- /dev/null +++ b/src/app/(protected)/dashboard/_components/dashboard-scope-picker.tsx @@ -0,0 +1,118 @@ +import { useMemo } from "react"; +import { Popover, Skeleton } from "@mui/material"; +import { ChevronDown, Users } from "lucide-react"; +import type { WorkOrderUser } from "@/domain/work-orders/types/work-order"; +import { CheckboxMenuItem } from "@/components/ui/checkbox-menu-item"; +import { MenuAnchorButton } from "@/components/ui/menu-anchor-button"; +import { useMenuAnchor } from "@/hooks/use-menu-anchor"; +import type { DashboardScope } from "./dashboard-scope"; + +type DashboardScopePickerProps = { + scope: DashboardScope; + onChange: (scope: DashboardScope) => void; + users: WorkOrderUser[]; + usersLoading?: boolean; + currentUserId?: string | number; +}; + +export function DashboardScopePicker({ + scope, + onChange, + users, + usersLoading = false, + currentUserId, +}: DashboardScopePickerProps) { + const { anchorEl, open, setAnchor, close } = useMenuAnchor(); + const meId = currentUserId != null && currentUserId !== "" ? String(currentUserId) : null; + + const dispatchers = useMemo( + () => [...users].sort((a, b) => a.name.localeCompare(b.name)), + [users], + ); + + const label = useMemo(() => { + if (scope.mode === "all") return "All dispatchers"; + if (scope.mode === "mine") return "My WOs"; + return dispatchers.find((user) => String(user.id) === scope.id)?.name ?? "Dispatcher"; + }, [scope, dispatchers]); + + const select = (next: DashboardScope) => { + onChange(next); + close(); + }; + + if (usersLoading && users.length === 0) { + return ( + + ); + } + + return ( + <> + + + {label} + + + + + select({ mode: "all" })} + /> + + {meId != null && ( + select({ mode: "mine" })} + /> + )} + + {dispatchers.map((user) => { + const id = String(user.id); + return ( + me + ) : undefined + } + onClick={() => select({ mode: "individual", id })} + /> + ); + })} + + + ); +} diff --git a/src/app/(protected)/dashboard/_components/dashboard-scope.ts b/src/app/(protected)/dashboard/_components/dashboard-scope.ts new file mode 100644 index 00000000..62e6e7c8 --- /dev/null +++ b/src/app/(protected)/dashboard/_components/dashboard-scope.ts @@ -0,0 +1,21 @@ +/** + * SH-336 dispatcher-scope selection. Single-select — the Dashboard scopes to at + * most one dispatcher at a time (All company / My WOs / one individual), unlike + * the board's multi-select dispatcher filter. + */ +export type DashboardScope = + { mode: "all" } | { mode: "mine" } | { mode: "individual"; id: string }; + +export const DASHBOARD_SCOPE_ALL: DashboardScope = { mode: "all" }; + +/** Resolves the scope to the `dispatcherId` query param, or null for company-wide. */ +export function scopeDispatcherId( + scope: DashboardScope, + currentUserId: string | number | undefined, +): string | null { + if (scope.mode === "all") return null; + if (scope.mode === "mine") { + return currentUserId != null && currentUserId !== "" ? String(currentUserId) : null; + } + return scope.id || null; +} diff --git a/src/app/(protected)/dashboard/_components/dispatcher-performance-card.tsx b/src/app/(protected)/dashboard/_components/dispatcher-performance-card.tsx index 94231dbd..eb491726 100644 --- a/src/app/(protected)/dashboard/_components/dispatcher-performance-card.tsx +++ b/src/app/(protected)/dashboard/_components/dispatcher-performance-card.tsx @@ -27,6 +27,13 @@ function formatDays(value: number): string { return (Math.round(value * 10) / 10).toLocaleString(); } +// SH-347: colour the completion rate green at 90+, amber 70–89, red below 70. +function completionRateColor(rate: number): string { + if (rate >= 90) return "success.main"; + if (rate >= 70) return "warning.main"; + return "error.main"; +} + function DispatcherNameCell({ row, range, @@ -38,9 +45,9 @@ function DispatcherNameCell({ // A listed dispatcher is one with work in range; the drill-down filters Work // Orders by dispatcher + range and never uses the completion rate, so gate on // identity rather than the rate. (A dispatcher with assigned work but a 0% - // rate was previously inert here while drillable from Workload.) When SH-347's - // Assigned/Completed counts land on DispatcherPerformanceRow this should - // become `assigned > 0`, matching Workload's `totalWorkOrders > 0`. + // rate was previously inert here while drillable from Workload.) The gate stays + // on identity rather than `assignedCount > 0` so a legacy response without the + // SH-347 count field (assignedCount → 0) keeps its rows drillable. const drillable = Boolean(row.dispatcherId); if (!drillable) { @@ -84,6 +91,12 @@ export function DispatcherPerformanceCard({ Dispatcher + + Assigned + + + Completed + Completion % @@ -98,7 +111,14 @@ export function DispatcherPerformanceCard({ - {`${row.completionRate.toLocaleString()}%`} + {row.assignedCount.toLocaleString()} + {row.completedCount.toLocaleString()} + + {`${row.completionRate.toLocaleString()}%`} + {row.averageResolutionDays == null ? "—" : formatDays(row.averageResolutionDays)} diff --git a/src/app/(protected)/dashboard/_components/status-distribution-card.tsx b/src/app/(protected)/dashboard/_components/status-distribution-card.tsx new file mode 100644 index 00000000..956735eb --- /dev/null +++ b/src/app/(protected)/dashboard/_components/status-distribution-card.tsx @@ -0,0 +1,55 @@ +import { useNavigate } from "react-router"; +import { ALL_WIZARD_STATUSES } from "@/domain/work-orders/types/work-order-wizard"; +import type { DashboardRangeKey } from "@/domain/dashboard/types/dashboard-range"; +import type { DashboardStatusBucketRow } from "@/domain/dashboard/types/dashboard-stats"; +import { + workOrderDrilldownUrl, + workOrderStatusDrilldownSearch, +} from "@/domain/dashboard/utils/work-order-drilldown-links"; +import { DashboardBarList } from "./dashboard-bar-list"; +import { DashboardCard } from "./dashboard-card"; + +const EMPTY_MESSAGE = "No work orders match the current filters."; + +const DRILLABLE_STATUSES = new Set(ALL_WIZARD_STATUSES); + +interface StatusDistributionCardProps { + rows: DashboardStatusBucketRow[]; + range: DashboardRangeKey; + isLoading?: boolean; + error?: unknown; +} + +export function StatusDistributionCard({ + rows, + range, + isLoading = false, + error, +}: StatusDistributionCardProps) { + const navigate = useNavigate(); + + return ( + + ({ + id: row.status, + label: row.status, + count: row.count, + }))} + // Lifecycle labels the board can filter on are drillable; the "Unknown" + // bucket (unparseable statuses) has no board filter, so leave it inert. + isSelectable={(row) => DRILLABLE_STATUSES.has(row.id)} + onSelectRow={(row) => + navigate(workOrderDrilldownUrl(workOrderStatusDrilldownSearch(row.id, range))) + } + /> + + ); +} diff --git a/src/app/(protected)/dashboard/_components/vendor-insights-card.tsx b/src/app/(protected)/dashboard/_components/vendor-insights-card.tsx index 0e98910f..d23776ff 100644 --- a/src/app/(protected)/dashboard/_components/vendor-insights-card.tsx +++ b/src/app/(protected)/dashboard/_components/vendor-insights-card.tsx @@ -15,6 +15,7 @@ export function VendorInsightsCard({ rows, isLoading = false, error }: VendorIns return ( row.region !== UNMAPPED_REGION_LABEL); + return ( ({ + rows={zones.map((row) => ({ id: row.region, label: row.region, count: row.workOrderCount, }))} + onSelectRow={(row) => + navigate(workOrderDrilldownUrl(workOrderRegionDrilldownSearch(row.id, range))) + } /> ); diff --git a/src/app/(protected)/dashboard/index.tsx b/src/app/(protected)/dashboard/index.tsx index cb20c9b4..60d6748a 100644 --- a/src/app/(protected)/dashboard/index.tsx +++ b/src/app/(protected)/dashboard/index.tsx @@ -4,11 +4,22 @@ import EventOutlinedIcon from "@mui/icons-material/EventOutlined"; import PendingActionsIcon from "@mui/icons-material/PendingActions"; import ShieldOutlinedIcon from "@mui/icons-material/ShieldOutlined"; import { Box, Button, CircularProgress } from "@mui/material"; +import { Users } from "lucide-react"; import { PageHeader } from "@/components/ui/page-header"; +import { Text } from "@/components/ui/text"; +import { canViewAllDispatchersOnDashboard } from "@/lib/auth/user-utils"; +import { useAuthContext } from "@/providers/auth-context"; import { DashboardKpiCard } from "@/app/(protected)/dashboard/_components/dashboard-kpi-card"; import { DashboardRangeToggle } from "@/app/(protected)/dashboard/_components/dashboard-range-toggle"; import { DashboardTrendCard } from "@/app/(protected)/dashboard/_components/dashboard-trend-card"; +import { DashboardScopePicker } from "@/app/(protected)/dashboard/_components/dashboard-scope-picker"; +import { + DASHBOARD_SCOPE_ALL, + scopeDispatcherId, + type DashboardScope, +} from "@/app/(protected)/dashboard/_components/dashboard-scope"; import { DispatcherTablesSection } from "@/app/(protected)/dashboard/_components/dispatcher-tables-section"; +import { StatusDistributionCard } from "@/app/(protected)/dashboard/_components/status-distribution-card"; import { VendorInsightsCard } from "@/app/(protected)/dashboard/_components/vendor-insights-card"; import { WorkOrderBreakdownCard } from "@/app/(protected)/dashboard/_components/work-order-breakdown-card"; import { WorkOrdersByRegionCard } from "@/app/(protected)/dashboard/_components/work-orders-by-region-card"; @@ -21,6 +32,7 @@ import { useDashboardRegions } from "@/domain/dashboard/use-cases/use-dashboard- import { useDashboardStats } from "@/domain/dashboard/use-cases/use-dashboard-stats"; import { useDashboardVendorInsights } from "@/domain/dashboard/use-cases/use-dashboard-vendor-insights"; import { useDashboardWorkload } from "@/domain/dashboard/use-cases/use-dashboard-workload"; +import { useWorkOrderUsers } from "@/domain/work-orders/use-cases/use-work-orders-list"; import { avetaPendingDrilldownSearch, scheduledTomorrowDrilldownSearch, @@ -30,25 +42,58 @@ import { export default function DashboardPage() { const navigate = useNavigate(); + const { user } = useAuthContext(); + // SH-336: only Scheduler/Admin may broaden the Dashboard past their own work + // orders. A Dispatcher is locked to their own WOs (scoped server-side by + // backend#126) and never sees the picker. + const canViewAll = canViewAllDispatchersOnDashboard(user?.userRoles); + const [range, setRange] = useState(DEFAULT_DASHBOARD_RANGE); + const [scope, setScope] = useState(DASHBOARD_SCOPE_ALL); const [workloadPage, setWorkloadPage] = useState(1); const [performancePage, setPerformancePage] = useState(1); - const stats = useDashboardStats(range); - const workload = useDashboardWorkload(range, workloadPage); - const performance = useDashboardPerformance(range, performancePage); - const regions = useDashboardRegions(range); + + const dispatcherUsers = useWorkOrderUsers(); + + // A Dispatcher sends no dispatcherId (the server already scopes them); only the + // picker, available to Scheduler/Admin, drives an explicit scope. + const dispatcherId = canViewAll ? scopeDispatcherId(scope, user?.id) : null; + + const stats = useDashboardStats(range, dispatcherId); + const workload = useDashboardWorkload(range, workloadPage, dispatcherId, canViewAll); + const performance = useDashboardPerformance(range, performancePage, dispatcherId, canViewAll); + const regions = useDashboardRegions(range, dispatcherId); const vendors = useDashboardVendorInsights(); // A range change re-scopes both dispatcher tables, so their page must reset — // otherwise a switch while on page 3 lands on an out-of-range empty page that // reads as a false "no dispatchers" state. - const changeRange = (next: DashboardRangeKey) => { - setRange(next); + const resetDispatcherPages = () => { setWorkloadPage(1); setPerformancePage(1); }; - const resetFilters = () => changeRange(DEFAULT_DASHBOARD_RANGE); + const changeRange = (next: DashboardRangeKey) => { + setRange(next); + resetDispatcherPages(); + }; + + const changeScope = (next: DashboardScope) => { + setScope(next); + resetDispatcherPages(); + }; + + const resetFilters = () => { + setRange(DEFAULT_DASHBOARD_RANGE); + setScope(DASHBOARD_SCOPE_ALL); + resetDispatcherPages(); + }; + + // A Dispatcher's forced own-WOs scope never triggers the reset affordance (there + // is nothing for them to reset but the date range); a Scheduler/Admin's non-All + // scope does. + const scopeIsFiltered = canViewAll && scope.mode !== "all"; + const showReset = range !== DEFAULT_DASHBOARD_RANGE || scopeIsFiltered; const isRefreshing = [stats, workload, performance, regions, vendors].some((query) => query.isFetching) && @@ -61,11 +106,30 @@ export default function DashboardPage() { actions={ {isRefreshing && } - {range !== DEFAULT_DASHBOARD_RANGE && ( + {showReset && ( )} + {canViewAll ? ( + + ) : ( + + + + My WOs + + + )} } @@ -106,20 +170,29 @@ export default function DashboardPage() { isLoading={stats.isLoading} error={stats.error} /> + - + {canViewAll && ( + + )} { + onApplyRef.current = onApply; + }, [onApply]); + useEffect(() => { if (appliedRef.current) { return; @@ -22,9 +29,9 @@ export function useDashboardDrilldownFilters( appliedRef.current = true; setFromDashboard(true); - onApply(drilldown); + onApplyRef.current(drilldown); setSearchParams({}, { replace: true }); - }, [searchParams, setSearchParams, onApply]); + }, [searchParams, setSearchParams]); return fromDashboard; } diff --git a/src/domain/dashboard/api/dashboard-api.ts b/src/domain/dashboard/api/dashboard-api.ts index 7d3a76f9..5fdd902f 100644 --- a/src/domain/dashboard/api/dashboard-api.ts +++ b/src/domain/dashboard/api/dashboard-api.ts @@ -6,6 +6,7 @@ import type { DashboardRangeParams } from "@/domain/dashboard/types/dashboard-ra import type { DashboardBreakdownRow, DashboardStats, + DashboardStatusBucketRow, } from "@/domain/dashboard/types/dashboard-stats"; import type { DispatcherPerformanceRow } from "@/domain/dashboard/types/dashboard-performance"; import { @@ -79,27 +80,46 @@ function readCollection(value: unknown, key: string): Record[] return asRecords(collection); } -function rangeSearchParams(range?: DashboardRangeParams): Options | undefined { - if (!range?.dateFrom || !range?.dateTo) { - return undefined; +/** + * Stats, Regions, Workload, and Performance share `DashboardStatsQueryDTO` + * (backend#145): the range dates ride along when present, and `dispatcherId` + * scopes the read to a single dispatcher (SH-336's picker — All sends nothing, + * My WOs / an individual sends that id). Vendor Insights and Trend take no such + * param and stay company-wide (SH-349). + */ +function scopedSearchParams( + range?: DashboardRangeParams, + dispatcherId?: string, +): Options | undefined { + const searchParams: Record = {}; + if (range?.dateFrom && range?.dateTo) { + searchParams.dateFrom = range.dateFrom; + searchParams.dateTo = range.dateTo; } - - return { searchParams: { dateFrom: range.dateFrom, dateTo: range.dateTo } }; + if (dispatcherId) { + searchParams.dispatcherId = dispatcherId; + } + return Object.keys(searchParams).length > 0 ? { searchParams } : undefined; } /** * Workload and Performance are paged server-side (backend#126/#127): `page` is - * 1-based and always sent, and the range dates ride along when present. + * 1-based and always sent, the range dates ride along when present, and + * `dispatcherId` scopes to a single dispatcher (SH-336). */ function dispatcherPageSearchParams( range: DashboardRangeParams | undefined, page: number, + dispatcherId?: string, ): Options { const searchParams: Record = { page }; if (range?.dateFrom && range?.dateTo) { searchParams.dateFrom = range.dateFrom; searchParams.dateTo = range.dateTo; } + if (dispatcherId) { + searchParams.dispatcherId = dispatcherId; + } return { searchParams }; } @@ -204,6 +224,17 @@ function mapDispatcherIdentity(raw: Record): { }; } +function mapStatusDistribution(value: unknown): DashboardStatusBucketRow[] { + return asRecords(value) + .map((row) => ({ + status: asString( + readField(row, "status") ?? readField(row, "name") ?? readField(row, "label"), + ), + count: toNumber(readField(row, "count") ?? readField(row, "value")), + })) + .filter((row) => row.status !== ""); +} + function mapDashboardStats(raw: unknown): DashboardStats { const data = toRecord(raw); const average = readField(data, "averageResolutionDays"); @@ -221,6 +252,7 @@ function mapDashboardStats(raw: unknown): DashboardStats { pendingUplifts: toNumber(readField(data, "pendingUplifts")), avetaPending: toNumber(readField(data, "avetaPending")), breakdown: mapBreakdown(readField(data, "breakdown") ?? readField(data, "workOrderBreakdown")), + statusDistribution: mapStatusDistribution(readField(data, "statusDistribution")), }; } @@ -256,6 +288,10 @@ function mapDispatcherPerformance(raw: unknown): DispatcherPerformanceRow[] { readField(rawRow, "averageResolutionDays") == null ? null : toNumber(readField(rawRow, "averageResolutionDays")), + assignedCount: toNumber(readField(rawRow, "assignedCount") ?? readField(rawRow, "assigned")), + completedCount: toNumber( + readField(rawRow, "completedCount") ?? readField(rawRow, "completed"), + ), }; }); } @@ -328,17 +364,24 @@ function mapDashboardTrend(raw: unknown): DashboardTrend { } export const dashboardApi = { - getStats: async (range?: DashboardRangeParams): Promise => { - const data = await apiGet(API_PATHS.dashboard.stats, rangeSearchParams(range)); + getStats: async ( + range?: DashboardRangeParams, + dispatcherId?: string, + ): Promise => { + const data = await apiGet( + API_PATHS.dashboard.stats, + scopedSearchParams(range, dispatcherId), + ); return mapDashboardStats(handleApiResponse(data)); }, getWorkload: async ( range?: DashboardRangeParams, page = 1, + dispatcherId?: string, ): Promise> => { const data = await apiGet( API_PATHS.dashboard.workload, - dispatcherPageSearchParams(range, page), + dispatcherPageSearchParams(range, page, dispatcherId), ); const response = handleApiResponse(data); const items = mapDispatcherWorkload(response); @@ -347,17 +390,24 @@ export const dashboardApi = { getPerformance: async ( range?: DashboardRangeParams, page = 1, + dispatcherId?: string, ): Promise> => { const data = await apiGet( API_PATHS.dashboard.performance, - dispatcherPageSearchParams(range, page), + dispatcherPageSearchParams(range, page, dispatcherId), ); const response = handleApiResponse(data); const items = mapDispatcherPerformance(response); return { items, ...readDispatcherPageMeta(response, page, items.length) }; }, - getRegions: async (range?: DashboardRangeParams): Promise => { - const data = await apiGet(API_PATHS.dashboard.regions, rangeSearchParams(range)); + getRegions: async ( + range?: DashboardRangeParams, + dispatcherId?: string, + ): Promise => { + const data = await apiGet( + API_PATHS.dashboard.regions, + scopedSearchParams(range, dispatcherId), + ); return mapRegions(handleApiResponse(data)); }, getVendorInsights: async (): Promise => { diff --git a/src/domain/dashboard/types/dashboard-performance.ts b/src/domain/dashboard/types/dashboard-performance.ts index dca8f1a4..03c49371 100644 --- a/src/domain/dashboard/types/dashboard-performance.ts +++ b/src/domain/dashboard/types/dashboard-performance.ts @@ -3,4 +3,6 @@ export interface DispatcherPerformanceRow { dispatcherName: string; completionRate: number; averageResolutionDays: number | null; + assignedCount: number; + completedCount: number; } diff --git a/src/domain/dashboard/types/dashboard-stats.ts b/src/domain/dashboard/types/dashboard-stats.ts index 82442c01..1394a801 100644 --- a/src/domain/dashboard/types/dashboard-stats.ts +++ b/src/domain/dashboard/types/dashboard-stats.ts @@ -3,6 +3,11 @@ export interface DashboardBreakdownRow { count: number; } +export interface DashboardStatusBucketRow { + status: string; + count: number; +} + export interface DashboardStats { total: number; open: number; @@ -16,4 +21,5 @@ export interface DashboardStats { pendingUplifts: number; avetaPending: number; breakdown: DashboardBreakdownRow[]; + statusDistribution: DashboardStatusBucketRow[]; } diff --git a/src/domain/dashboard/use-cases/use-dashboard-performance.ts b/src/domain/dashboard/use-cases/use-dashboard-performance.ts index 06491072..3e7c4f71 100644 --- a/src/domain/dashboard/use-cases/use-dashboard-performance.ts +++ b/src/domain/dashboard/use-cases/use-dashboard-performance.ts @@ -9,10 +9,14 @@ import { queryKeys } from "@/infra/query-key/query-key"; export function useDashboardPerformance( range: DashboardRangeKey, page = 1, + dispatcherId: string | null = null, + enabled = true, ): UseQueryResult, Error> { return useQuery({ - queryKey: queryKeys.dashboard.performance(range, page), - queryFn: () => dashboardApi.getPerformance(dashboardRangeParams(range), page), + queryKey: queryKeys.dashboard.performance(range, page, dispatcherId), + queryFn: () => + dashboardApi.getPerformance(dashboardRangeParams(range), page, dispatcherId ?? undefined), staleTime: 60 * 1000, + enabled, }); } diff --git a/src/domain/dashboard/use-cases/use-dashboard-regions.ts b/src/domain/dashboard/use-cases/use-dashboard-regions.ts index 996fc212..787d7477 100644 --- a/src/domain/dashboard/use-cases/use-dashboard-regions.ts +++ b/src/domain/dashboard/use-cases/use-dashboard-regions.ts @@ -7,10 +7,11 @@ import { queryKeys } from "@/infra/query-key/query-key"; export function useDashboardRegions( range: DashboardRangeKey, + dispatcherId: string | null = null, ): UseQueryResult { return useQuery({ - queryKey: queryKeys.dashboard.regions(range), - queryFn: () => dashboardApi.getRegions(dashboardRangeParams(range)), + queryKey: queryKeys.dashboard.regions(range, dispatcherId), + queryFn: () => dashboardApi.getRegions(dashboardRangeParams(range), dispatcherId ?? undefined), staleTime: 60 * 1000, }); } diff --git a/src/domain/dashboard/use-cases/use-dashboard-stats.ts b/src/domain/dashboard/use-cases/use-dashboard-stats.ts index d9e93ee2..9266d7ba 100644 --- a/src/domain/dashboard/use-cases/use-dashboard-stats.ts +++ b/src/domain/dashboard/use-cases/use-dashboard-stats.ts @@ -5,10 +5,13 @@ import type { DashboardStats } from "@/domain/dashboard/types/dashboard-stats"; import { dashboardRangeParams } from "@/domain/dashboard/utils/dashboard-range-utils"; import { queryKeys } from "@/infra/query-key/query-key"; -export function useDashboardStats(range: DashboardRangeKey): UseQueryResult { +export function useDashboardStats( + range: DashboardRangeKey, + dispatcherId: string | null = null, +): UseQueryResult { return useQuery({ - queryKey: queryKeys.dashboard.stats(range), - queryFn: () => dashboardApi.getStats(dashboardRangeParams(range)), + queryKey: queryKeys.dashboard.stats(range, dispatcherId), + queryFn: () => dashboardApi.getStats(dashboardRangeParams(range), dispatcherId ?? undefined), staleTime: 60 * 1000, }); } diff --git a/src/domain/dashboard/use-cases/use-dashboard-workload.ts b/src/domain/dashboard/use-cases/use-dashboard-workload.ts index e2276768..5a970598 100644 --- a/src/domain/dashboard/use-cases/use-dashboard-workload.ts +++ b/src/domain/dashboard/use-cases/use-dashboard-workload.ts @@ -9,10 +9,14 @@ import { queryKeys } from "@/infra/query-key/query-key"; export function useDashboardWorkload( range: DashboardRangeKey, page = 1, + dispatcherId: string | null = null, + enabled = true, ): UseQueryResult, Error> { return useQuery({ - queryKey: queryKeys.dashboard.workload(range, page), - queryFn: () => dashboardApi.getWorkload(dashboardRangeParams(range), page), + queryKey: queryKeys.dashboard.workload(range, page, dispatcherId), + queryFn: () => + dashboardApi.getWorkload(dashboardRangeParams(range), page, dispatcherId ?? undefined), staleTime: 60 * 1000, + enabled, }); } diff --git a/src/domain/dashboard/utils/work-order-drilldown-links.ts b/src/domain/dashboard/utils/work-order-drilldown-links.ts index 837fd104..c83d0592 100644 --- a/src/domain/dashboard/utils/work-order-drilldown-links.ts +++ b/src/domain/dashboard/utils/work-order-drilldown-links.ts @@ -61,6 +61,15 @@ export function workOrderDispatcherDrilldownSearch( return search; } +export function workOrderRegionDrilldownSearch( + region: string, + range: DashboardRangeKey, +): URLSearchParams { + const search = workOrderRangeDrilldownSearch(range); + search.set("regions", region); + return search; +} + export function scheduledTomorrowDrilldownSearch( today: string = businessTodayIso(), ): URLSearchParams { diff --git a/src/domain/work-orders/types/work-order-advanced-filters.ts b/src/domain/work-orders/types/work-order-advanced-filters.ts index e9ad34f9..c187aee8 100644 --- a/src/domain/work-orders/types/work-order-advanced-filters.ts +++ b/src/domain/work-orders/types/work-order-advanced-filters.ts @@ -32,6 +32,7 @@ export interface WorkOrderAdvancedFilters { types: Set; severities: Set; dispatchers: Set; + regions: Set; statuses: Set; rescheduled: boolean; carriedOver: boolean; @@ -55,6 +56,7 @@ export const EMPTY_ADVANCED_FILTERS: WorkOrderAdvancedFilters = { types: new Set(), severities: new Set(), dispatchers: new Set(), + regions: new Set(), statuses: new Set(), rescheduled: false, carriedOver: false, @@ -97,6 +99,7 @@ export type AdvancedFilterSetKey = | "sites" | "types" | "dispatchers" + | "regions" | "statuses" | "pmTypes" | "vendorTechs" diff --git a/src/domain/work-orders/types/work-order-board.ts b/src/domain/work-orders/types/work-order-board.ts index 4c5606b4..3c0d5619 100644 --- a/src/domain/work-orders/types/work-order-board.ts +++ b/src/domain/work-orders/types/work-order-board.ts @@ -287,6 +287,8 @@ export interface WorkOrderBoardSearchQueryParams { /** Past-due filter; independent of WorkOrderType (Other remains types=99). */ overdue?: boolean; dispatchers?: string[]; + /** SH-348: region names (East/Central/West/California/Unmapped/Other). */ + regions?: string[]; statuses?: number[]; pmTypes?: string[]; vendorIds?: number[]; diff --git a/src/domain/work-orders/utils/advanced-filter-chip-builders.ts b/src/domain/work-orders/utils/advanced-filter-chip-builders.ts index 57bdab98..edc707a0 100644 --- a/src/domain/work-orders/utils/advanced-filter-chip-builders.ts +++ b/src/domain/work-orders/utils/advanced-filter-chip-builders.ts @@ -108,6 +108,15 @@ export function appendSetChips( nameOf: (v) => v, clear: (current) => ({ ...current, types: new Set() }), }); + + pushSetChip({ + chips, + key: "regions", + group: "Region", + set: filters.regions, + nameOf: (v) => v, + clear: (current) => ({ ...current, regions: new Set() }), + }); } export function appendSeverityChip(chips: AdvancedFilterChip[], filters: WorkOrderAdvancedFilters) { diff --git a/src/domain/work-orders/utils/advanced-filters-utils.ts b/src/domain/work-orders/utils/advanced-filters-utils.ts index 97e503f2..3f8f5ce5 100644 --- a/src/domain/work-orders/utils/advanced-filters-utils.ts +++ b/src/domain/work-orders/utils/advanced-filters-utils.ts @@ -26,6 +26,7 @@ function cloneFilters(filters: WorkOrderAdvancedFilters): WorkOrderAdvancedFilte types: new Set(filters.types), severities: new Set(filters.severities ?? []), dispatchers: new Set(filters.dispatchers), + regions: new Set(filters.regions ?? []), statuses: new Set(filters.statuses), pmTypes: new Set(filters.pmTypes), vendorTechs: new Set(filters.vendorTechs), @@ -42,6 +43,7 @@ const ADVANCED_FILTER_ACTIVE_SIGNALS = (filters: WorkOrderAdvancedFilters): bool Boolean(filters.types?.size), Boolean(filters.severities?.size), Boolean(filters.dispatchers?.size), + Boolean(filters.regions?.size), Boolean(filters.statuses?.size), filters.rescheduled, filters.carriedOver, diff --git a/src/domain/work-orders/utils/board-query-params.ts b/src/domain/work-orders/utils/board-query-params.ts index 29780d1a..c10519b8 100644 --- a/src/domain/work-orders/utils/board-query-params.ts +++ b/src/domain/work-orders/utils/board-query-params.ts @@ -217,6 +217,7 @@ export function toBoardSearchQueryParams(input: { types: typeFilters.types, overdue: typeFilters.overdue, dispatchers: mapDispatchers(filters.dispatchers), + regions: filters.regions.size > 0 ? [...filters.regions] : undefined, statuses: mapStatuses(filters.statuses), pmTypes: filters.pmTypes.size > 0 ? [...filters.pmTypes] : undefined, vendorIds: resolveVendorIds(filters.vendorTechs, input.vendorIdsByCompanyName), diff --git a/src/domain/work-orders/utils/dashboard-drilldown-params.ts b/src/domain/work-orders/utils/dashboard-drilldown-params.ts index 0d030c6c..c67315c3 100644 --- a/src/domain/work-orders/utils/dashboard-drilldown-params.ts +++ b/src/domain/work-orders/utils/dashboard-drilldown-params.ts @@ -10,6 +10,9 @@ const ISO_DATE_PATTERN = /^\d{4}-\d{2}-\d{2}$/; const COMPLETION_DOC_FILTERS: CompletionDocFilter[] = ["No", "Yes", "NN"]; +// SH-348: the board region filter (backend#146) accepts these region names. +const BOARD_REGION_NAMES = ["East", "Central", "West", "California", "Unmapped/Other"]; + const UPLIFT_FILTER_VALUES: UpliftFilterStatus[] = [ "pending", "approved", @@ -45,6 +48,11 @@ function parseCompletionDocs(raw: string | null): CompletionDocFilter[] { return [...new Set(parseList(raw))].filter((doc): doc is CompletionDocFilter => valid.has(doc)); } +function parseRegions(raw: string | null): string[] { + const valid = new Set(BOARD_REGION_NAMES); + return [...new Set(parseList(raw))].filter((region) => valid.has(region)); +} + function parseUpliftStatuses(raw: string | null): UpliftFilterStatus[] { const valid = new Set(UPLIFT_FILTER_VALUES); return [...new Set(parseList(raw))].filter((value): value is UpliftFilterStatus => @@ -63,6 +71,7 @@ export function parseDashboardDrilldownParams( const statuses = parseStatuses(params.get("statuses")); const types = parseTypes(params.get("types")); const dispatchers = parseList(params.get("dispatchers")); + const regions = parseRegions(params.get("regions")); const upliftStatuses = parseUpliftStatuses(params.get("upliftStatuses")); const hasUplift = params.get("hasUplift") === "1"; @@ -73,6 +82,7 @@ export function parseDashboardDrilldownParams( statuses.length > 0 || types.length > 0 || dispatchers.length > 0 || + regions.length > 0 || upliftStatuses.length > 0 || hasUplift; @@ -101,6 +111,9 @@ export function parseDashboardDrilldownParams( if (dispatchers.length > 0) { filters.dispatchers = new Set(dispatchers); } + if (regions.length > 0) { + filters.regions = new Set(regions); + } if (upliftStatuses.length > 0) { filters.upliftStatuses = new Set(upliftStatuses); } diff --git a/src/infra/query-key/query-key.ts b/src/infra/query-key/query-key.ts index 6760619e..8cf4bb75 100644 --- a/src/infra/query-key/query-key.ts +++ b/src/infra/query-key/query-key.ts @@ -51,12 +51,14 @@ export const queryKeys = { }, dashboard: { all: ["dashboard"] as const, - stats: (range: DashboardRangeKey) => [...queryKeys.dashboard.all, "stats", range] as const, - workload: (range: DashboardRangeKey, page = 1) => - [...queryKeys.dashboard.all, "workload", range, page] as const, - performance: (range: DashboardRangeKey, page = 1) => - [...queryKeys.dashboard.all, "performance", range, page] as const, - regions: (range: DashboardRangeKey) => [...queryKeys.dashboard.all, "regions", range] as const, + stats: (range: DashboardRangeKey, dispatcherId: string | null = null) => + [...queryKeys.dashboard.all, "stats", range, dispatcherId] as const, + workload: (range: DashboardRangeKey, page = 1, dispatcherId: string | null = null) => + [...queryKeys.dashboard.all, "workload", range, page, dispatcherId] as const, + performance: (range: DashboardRangeKey, page = 1, dispatcherId: string | null = null) => + [...queryKeys.dashboard.all, "performance", range, page, dispatcherId] as const, + regions: (range: DashboardRangeKey, dispatcherId: string | null = null) => + [...queryKeys.dashboard.all, "regions", range, dispatcherId] as const, vendorInsights: () => [...queryKeys.dashboard.all, "vendorInsights"] as const, trend: (params?: DashboardTrendParams) => [...queryKeys.dashboard.all, "trend", params ?? {}] as const, diff --git a/src/lib/auth/user-utils.ts b/src/lib/auth/user-utils.ts index 55ca7411..1fcd3f4d 100644 --- a/src/lib/auth/user-utils.ts +++ b/src/lib/auth/user-utils.ts @@ -14,3 +14,18 @@ export function isAdminUser(userRoles: string | null | undefined): boolean { .map((role) => role.trim().toLowerCase()) .includes("admin"); } + +/** + * SH-336's `viewAllDispatchersOnDashboard` permission. The codebase has no + * permission model, so it is derived from role: Admin and Scheduler may pick any + * dispatcher (or the whole company) on the Dashboard; a Dispatcher may not and + * is locked to their own work orders. Unknown roles default to the restrictive + * (Dispatcher) behaviour so no one accidentally gains a company-wide view. + */ +export function canViewAllDispatchersOnDashboard(userRoles: string | null | undefined): boolean { + if (!userRoles) { + return false; + } + const roles = userRoles.split(",").map((role) => role.trim().toLowerCase()); + return roles.includes("admin") || roles.includes("scheduler"); +} diff --git a/src/test/app/(protected)/dashboard/dashboard-page.test.tsx b/src/test/app/(protected)/dashboard/dashboard-page.test.tsx index e74ab664..5ad7396e 100644 --- a/src/test/app/(protected)/dashboard/dashboard-page.test.tsx +++ b/src/test/app/(protected)/dashboard/dashboard-page.test.tsx @@ -5,9 +5,10 @@ import { renderWithProviders } from "@/test/test-utils"; const navigate = vi.fn(); const statsRange = vi.fn<(range: DashboardRangeKey) => void>(); -const { workloadMock, performanceMock } = vi.hoisted(() => ({ +const { workloadMock, performanceMock, authUser } = vi.hoisted(() => ({ workloadMock: vi.fn(), performanceMock: vi.fn(), + authUser: { current: { id: "99", userRoles: "Admin" } as { id: string; userRoles: string } }, })); const EMPTY_DISPATCHER_PAGE = { items: [], page: 1, pageSize: 10, totalDispatchers: 0 }; @@ -17,6 +18,17 @@ vi.mock("react-router", async (importOriginal) => ({ useNavigate: () => navigate, })); +// An Admin has `viewAllDispatchersOnDashboard`, so the scope picker and the +// dispatcher tables render (SH-336). +vi.mock("@/providers/auth-context", async (importOriginal) => ({ + ...(await importOriginal()), + useAuthContext: () => ({ user: authUser.current }), +})); + +vi.mock("@/domain/work-orders/use-cases/use-work-orders-list", () => ({ + useWorkOrderUsers: () => ({ data: [], isLoading: false, isFetching: false, error: null }), +})); + vi.mock("@/domain/dashboard/use-cases/use-dashboard-workload", () => ({ useDashboardWorkload: workloadMock, })); @@ -77,6 +89,7 @@ function renderDashboard() { describe("DashboardPage", () => { beforeEach(() => { + authUser.current = { id: "99", userRoles: "Admin" }; navigate.mockReset(); statsRange.mockReset(); workloadMock.mockReset(); @@ -107,6 +120,7 @@ describe("DashboardPage", () => { "Pending Uplifts", "Aveta Pending", "Work Order Breakdown", + "Status Distribution", "Dispatcher Workload", "Dispatcher Performance", "Work Orders by Region", @@ -117,6 +131,27 @@ describe("DashboardPage", () => { expect(statsRange).toHaveBeenCalledWith("this-week"); }); + it("shows a Dispatcher the static My WOs scope and hides the dispatcher tables", () => { + authUser.current = { id: "7", userRoles: "Dispatcher" }; + + renderDashboard(); + + expect(screen.getByText("My WOs")).toBeInTheDocument(); + expect(screen.queryByRole("button", { name: "All dispatchers" })).toBeNull(); + expect(screen.queryByText("Dispatcher Workload")).toBeNull(); + expect(screen.queryByText("Dispatcher Performance")).toBeNull(); + // Their scope is server-scoped, so the tables are never even queried. + expect(workloadMock).toHaveBeenCalledWith("this-week", 1, null, false); + }); + + it("lets an Admin open the dispatcher-scope picker", () => { + renderDashboard(); + + expect(screen.getByRole("button", { name: /All dispatchers/ })).toBeInTheDocument(); + expect(screen.getByText("Dispatcher Workload")).toBeInTheDocument(); + expect(workloadMock).toHaveBeenCalledWith("this-week", 1, null, true); + }); + it("exposes positive KPI cards as keyboard-accessible drill-downs", () => { renderDashboard(); @@ -168,8 +203,8 @@ describe("DashboardPage", () => { it("shows the documented empty states when datasets are empty", () => { renderDashboard(); - // Breakdown and Trend share this empty copy, so both cards surface it. - expect(screen.getAllByText("No work orders match the current filters.")).toHaveLength(2); + // Region, Status Distribution, and Trend share this empty copy. + expect(screen.getAllByText("No work orders match the current filters.")).toHaveLength(3); expect(screen.getAllByText("No dispatchers are set up yet.")).toHaveLength(2); expect(screen.getByText("No active vendor has any work orders yet.")).toBeInTheDocument(); }); diff --git a/src/test/domain/dashboard/dashboard-api.test.ts b/src/test/domain/dashboard/dashboard-api.test.ts index 9a73b50a..95f8c258 100644 --- a/src/test/domain/dashboard/dashboard-api.test.ts +++ b/src/test/domain/dashboard/dashboard-api.test.ts @@ -31,6 +31,10 @@ describe("dashboardApi", () => { { Status: "Scheduled", Count: "7" }, { Status: "Completed", Count: 4 }, ], + StatusDistribution: [ + { Status: "Scheduled", Count: "7" }, + { Status: "Unknown", Count: 1 }, + ], }, }); @@ -52,6 +56,10 @@ describe("dashboardApi", () => { { status: "Scheduled", count: 7 }, { status: "Completed", count: 4 }, ], + statusDistribution: [ + { status: "Scheduled", count: 7 }, + { status: "Unknown", count: 1 }, + ], }); expect(apiGet).toHaveBeenCalledWith("Dashboard/Stats", { searchParams: { dateFrom: "2026-09-14", dateTo: "2026-09-18" }, @@ -116,6 +124,8 @@ describe("dashboardApi", () => { DispatcherName: "Dana Reyes", CompletionRate: 96.5, AverageResolutionDays: 3.25, + AssignedCount: 40, + CompletedCount: "38", }, ], Page: 2, @@ -132,6 +142,8 @@ describe("dashboardApi", () => { dispatcherName: "Dana Reyes", completionRate: 96.5, averageResolutionDays: 3.25, + assignedCount: 40, + completedCount: 38, }, ], page: 2, diff --git a/src/test/domain/dashboard/work-order-drilldown-links.test.ts b/src/test/domain/dashboard/work-order-drilldown-links.test.ts index 2c28e20c..836da9e6 100644 --- a/src/test/domain/dashboard/work-order-drilldown-links.test.ts +++ b/src/test/domain/dashboard/work-order-drilldown-links.test.ts @@ -1,4 +1,4 @@ -import { describe, expect, it } from "vitest"; +import { afterEach, describe, expect, it, vi } from "vitest"; import { avetaPendingDrilldownSearch, scheduledTomorrowDrilldownSearch, @@ -8,6 +8,10 @@ import { } from "@/domain/dashboard/utils/work-order-drilldown-links"; describe("work-order drilldown links", () => { + afterEach(() => { + vi.useRealTimers(); + }); + it("schedules the tomorrow drilldown on the business clock", () => { const search = scheduledTomorrowDrilldownSearch("2026-09-16"); @@ -30,6 +34,11 @@ describe("work-order drilldown links", () => { }); it("carries the range into status drilldowns", () => { + // "today" resolves against the business clock, so pin it (midday EDT on + // 2026-09-16 → 2026-09-16 in America/New_York) to keep the test deterministic. + vi.useFakeTimers(); + vi.setSystemTime(new Date("2026-09-16T16:00:00Z")); + const search = workOrderStatusDrilldownSearch("Scheduled", "today"); expect(search.get("dateFrom")).toBe("2026-09-16"); diff --git a/src/test/domain/work-orders/dashboard-drilldown-params.test.ts b/src/test/domain/work-orders/dashboard-drilldown-params.test.ts index 97518591..8ff30f72 100644 --- a/src/test/domain/work-orders/dashboard-drilldown-params.test.ts +++ b/src/test/domain/work-orders/dashboard-drilldown-params.test.ts @@ -52,6 +52,14 @@ describe("parseDashboardDrilldownParams", () => { expect(filters?.upliftStatuses).toEqual(new Set(["pending"])); }); + it("parses the region drilldown and drops unknown region names", () => { + const filters = parseDashboardDrilldownParams( + new URLSearchParams({ regions: "California, Atlantis" }), + ); + + expect(filters?.regions).toEqual(new Set(["California"])); + }); + it("rejects partial or malformed date ranges", () => { expect( parseDashboardDrilldownParams( diff --git a/src/test/lib/auth/user-utils.test.ts b/src/test/lib/auth/user-utils.test.ts index eddb88c5..ac185d49 100644 --- a/src/test/lib/auth/user-utils.test.ts +++ b/src/test/lib/auth/user-utils.test.ts @@ -1,5 +1,5 @@ import { describe, expect, it } from "vitest"; -import { isAdminUser } from "@/lib/auth/user-utils"; +import { canViewAllDispatchersOnDashboard, isAdminUser } from "@/lib/auth/user-utils"; describe("isAdminUser", () => { it("returns true when Admin appears in roles", () => { @@ -13,3 +13,17 @@ describe("isAdminUser", () => { expect(isAdminUser(undefined)).toBe(false); }); }); + +describe("canViewAllDispatchersOnDashboard", () => { + it("grants the dashboard picker to Admin and Scheduler", () => { + expect(canViewAllDispatchersOnDashboard("Admin")).toBe(true); + expect(canViewAllDispatchersOnDashboard("Scheduler")).toBe(true); + expect(canViewAllDispatchersOnDashboard("Dispatcher, Scheduler")).toBe(true); + }); + + it("locks a Dispatcher (and unknown roles) to their own work orders", () => { + expect(canViewAllDispatchersOnDashboard("Dispatcher")).toBe(false); + expect(canViewAllDispatchersOnDashboard("Technician")).toBe(false); + expect(canViewAllDispatchersOnDashboard(undefined)).toBe(false); + }); +});