From abfbad7f7c791665c8514cb9a9deb3588526b955 Mon Sep 17 00:00:00 2001 From: Calvin Yau Date: Wed, 26 Feb 2025 00:10:26 -0800 Subject: [PATCH 1/2] fix: Change plan update banner to new alert and update seat count --- .../CurrentOrgPlan/CurrentOrgPlan.test.tsx | 6 +++--- .../subRoutes/CurrentOrgPlan/CurrentOrgPlan.tsx | 2 +- .../InfoMessageStripeCallback.test.tsx | 2 +- .../InfoMessageStripeCallback.tsx | 16 +++++++--------- .../UpgradeForm/hooks/useUpgradeControls.ts | 8 ++++++-- 5 files changed, 18 insertions(+), 16 deletions(-) diff --git a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.test.tsx b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.test.tsx index fe2ad91d6b..319189b57a 100644 --- a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.test.tsx +++ b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.test.tsx @@ -197,7 +197,7 @@ describe('CurrentOrgPlan', () => { }) render(, { wrapper }) - const updatedAlert = await screen.findByText('Plan successfully updated.') + const updatedAlert = await screen.findByText('Plan successfully updated') expect(updatedAlert).toBeInTheDocument() }) @@ -214,7 +214,7 @@ describe('CurrentOrgPlan', () => { } as z.infer, }) render(, { wrapper }) - const updatedAlert = await screen.findByText('Plan successfully updated.') + const updatedAlert = await screen.findByText('Plan successfully updated') expect(updatedAlert).toBeInTheDocument() expect( screen.getByText(/with a monthly subscription for 34 seats/) @@ -230,7 +230,7 @@ describe('CurrentOrgPlan', () => { expect(currentPlanCard).toBeInTheDocument() expect( - screen.queryByText('Plan successfully updated.') + screen.queryByText('Plan successfully updated') ).not.toBeInTheDocument() }) }) diff --git a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.tsx b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.tsx index 92414c26ab..5cede8bdd3 100644 --- a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.tsx +++ b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.tsx @@ -88,7 +88,7 @@ function CurrentOrgPlan() { {scheduleStart && scheduledPhase?.quantity ? ( <> - Plan successfully updated. + Plan successfully updated The start date is {scheduleStart} with a monthly subscription for {scheduledPhase.quantity} seats. diff --git a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/InfoMessageStripeCallback/InfoMessageStripeCallback.test.tsx b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/InfoMessageStripeCallback/InfoMessageStripeCallback.test.tsx index 51cc0319d0..830110522a 100644 --- a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/InfoMessageStripeCallback/InfoMessageStripeCallback.test.tsx +++ b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/InfoMessageStripeCallback/InfoMessageStripeCallback.test.tsx @@ -38,7 +38,7 @@ describe('InfoMessageStripeCallback', () => { ) await expect( - screen.getByText(/Subscription Update Successful/) + screen.getByText(/Plan successfully updated./) ).toBeInTheDocument() }) }) diff --git a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/InfoMessageStripeCallback/InfoMessageStripeCallback.tsx b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/InfoMessageStripeCallback/InfoMessageStripeCallback.tsx index 4be5e12707..18e2093866 100644 --- a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/InfoMessageStripeCallback/InfoMessageStripeCallback.tsx +++ b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/InfoMessageStripeCallback/InfoMessageStripeCallback.tsx @@ -1,7 +1,7 @@ import qs from 'qs' import { useLocation } from 'react-router-dom' -import Message from 'old_ui/Message' +import { Alert } from 'ui/Alert' // Stripe redirects to this page with ?success or ?cancel in the URL // this component takes care of rendering a message if it is successful @@ -16,14 +16,12 @@ function InfoMessageStripeCallback({ if ('success' in urlParams && !awaitingInitialPaymentMethodVerification) return ( -
- -

Subscription Update Successful

-

- Your subscription has been updated successfully. If your plan - details appear incorrect, please refresh the page. -

-
+
+ + + Plan successfully updated. + +
) diff --git a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/hooks/useUpgradeControls.ts b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/hooks/useUpgradeControls.ts index 302106969e..c1ba4b6c5c 100644 --- a/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/hooks/useUpgradeControls.ts +++ b/src/pages/PlanPage/subRoutes/UpgradePlanPage/UpgradeForm/hooks/useUpgradeControls.ts @@ -31,8 +31,12 @@ export const useUpgradeControls = () => { newPlan: newPlan!, }, { - onSuccess: () => { - queryClient.invalidateQueries(['accountDetails']) + onSuccess: async () => { + // we want to wait here as history.push can disrupt the query invalidation + await Promise.all([ + queryClient.refetchQueries({ queryKey: ['accountDetails'] }), + queryClient.refetchQueries({ queryKey: ['GetPlanData'] }), + ]) setPlanUpdatedNotification({ alertOption: 'success', }) From 62dde558f8c4deed1459ddcde35f19673c9cb105 Mon Sep 17 00:00:00 2001 From: Calvin Yau Date: Wed, 26 Feb 2025 00:53:31 -0800 Subject: [PATCH 2/2] test: Fix test --- .../PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.test.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.test.tsx b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.test.tsx index 319189b57a..f39fef4707 100644 --- a/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.test.tsx +++ b/src/pages/PlanPage/subRoutes/CurrentOrgPlan/CurrentOrgPlan.test.tsx @@ -197,7 +197,7 @@ describe('CurrentOrgPlan', () => { }) render(, { wrapper }) - const updatedAlert = await screen.findByText('Plan successfully updated') + const updatedAlert = await screen.findByText('Plan successfully updated.') expect(updatedAlert).toBeInTheDocument() })