From 8ed2dac9a965d497508ba4ee8c0acb5ba34e5438 Mon Sep 17 00:00:00 2001 From: Josh Larson Date: Thu, 26 Sep 2024 09:39:20 -0400 Subject: [PATCH] feat: Suppress "Return to regular route" button for non-dispatchers (#2811) --- .../components/detours/activeDetourPanel.tsx | 18 ++++++++++-------- .../src/components/detours/diversionPage.tsx | 10 +++++++--- .../detours/diversionPage.deactivate.test.tsx | 8 ++++++++ 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/assets/src/components/detours/activeDetourPanel.tsx b/assets/src/components/detours/activeDetourPanel.tsx index 27adae45a..354322e1c 100644 --- a/assets/src/components/detours/activeDetourPanel.tsx +++ b/assets/src/components/detours/activeDetourPanel.tsx @@ -92,14 +92,16 @@ export const ActiveDetourPanel = ({ - + {onOpenDeactivateModal && ( + + )} {children} diff --git a/assets/src/components/detours/diversionPage.tsx b/assets/src/components/detours/diversionPage.tsx index 82b8484f9..85c37091a 100644 --- a/assets/src/components/detours/diversionPage.tsx +++ b/assets/src/components/detours/diversionPage.tsx @@ -350,9 +350,13 @@ export const DiversionPage = ({ routeOrigin={routeOrigin ?? "??"} routeDirection={routeDirection ?? "??"} onNavigateBack={onConfirmClose} - onOpenDeactivateModal={() => { - send({ type: "detour.active.open-deactivate-modal" }) - }} + onOpenDeactivateModal={ + userInTestGroup(TestGroups.DetoursPilot) + ? () => { + send({ type: "detour.active.open-deactivate-modal" }) + } + : undefined + } > {snapshot.matches({ "Detour Drawing": { Active: "Deactivating" }, diff --git a/assets/tests/components/detours/diversionPage.deactivate.test.tsx b/assets/tests/components/detours/diversionPage.deactivate.test.tsx index 0437ed6c8..acf78dbce 100644 --- a/assets/tests/components/detours/diversionPage.deactivate.test.tsx +++ b/assets/tests/components/detours/diversionPage.deactivate.test.tsx @@ -130,4 +130,12 @@ describe("DiversionPage deactivate workflow", () => { expect(returnModalHeading.query()).not.toBeInTheDocument() }) + + test("does not have a 'Return to regular route' button for users who are not dispatchers", async () => { + jest.mocked(getTestGroups).mockReturnValue([TestGroups.DetoursList]) + + await diversionPageOnActiveDetourScreen() + + expect(regularRouteButton.query()).not.toBeInTheDocument() + }) })