Skip to content

Commit 4c3e7c7

Browse files
authored
fix: explicitly check validation error type (#92)
1 parent fb92745 commit 4c3e7c7

File tree

3 files changed

+6
-8
lines changed

3 files changed

+6
-8
lines changed

src/components/StatefulButton/StatefulProvisioningButton.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ const StatefulProvisioningButton = () => {
3030

3131
const onClickHandler = () => {
3232
if (buttonState === 'success' && checkoutIntent?.adminPortalUrl && checkoutIntent?.enterpriseSlug) {
33-
const adminRegisterUrl = `${checkoutIntent.adminPortalUrl}/${checkoutIntent.enterpriseSlug}/admin/register`;
33+
const adminRegisterUrl = `${checkoutIntent.adminPortalUrl}/admin/register`;
3434
sendEnterpriseCheckoutTrackingEvent({
3535
checkoutIntentId: checkoutIntent?.id ?? null,
3636
eventName: EVENT_NAMES.SUBSCRIPTION_CHECKOUT.GO_TO_DASHBOARD_BUTTON_CLICKED,

src/components/StatefulButton/tests/StatefulProvisioningButton.test.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,7 @@ describe('StatefulProvisioningButton', () => {
6565
(mockUseBFFSuccess as jest.Mock).mockReturnValue({
6666
data: {
6767
checkoutIntent: {
68-
adminPortalUrl: state === 'fulfilled' ? 'https://admin.example.com' : null,
69-
enterpriseSlug: state === 'fulfilled' ? 'test-enterprise' : null,
68+
adminPortalUrl: state === 'fulfilled' ? 'https://admin.example.com/test-enterprise' : null,
7069
},
7170
},
7271
refetch: jest.fn().mockImplementation(() => ({ catch: jest.fn() })),
@@ -89,8 +88,7 @@ describe('StatefulProvisioningButton', () => {
8988
(mockUseBFFSuccess as jest.Mock).mockReturnValue({
9089
data: {
9190
checkoutIntent: {
92-
adminPortalUrl: 'https://admin.example.com',
93-
enterpriseSlug: 'test-enterprise',
91+
adminPortalUrl: 'https://admin.example.com/test-enterprise',
9492
},
9593
},
9694
});
@@ -109,7 +107,7 @@ describe('StatefulProvisioningButton', () => {
109107
const user = userEvent.setup();
110108
const adminPortalUrl = 'https://admin.example.com';
111109
const enterpriseSlug = 'test-enterprise';
112-
const expectedUrl = `${adminPortalUrl}/${enterpriseSlug}/admin/register`;
110+
const expectedUrl = `${adminPortalUrl}/admin/register`;
113111

114112
(mockUsePolledCheckoutIntent as jest.Mock).mockReturnValue({
115113
data: { state: 'fulfilled' },

src/constants/checkout.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,9 @@ export const PlanDetailsSchema = (
134134
const { isValid, validationDecisions } = await validateFieldDetailed(
135135
'quantity',
136136
quantity,
137-
{ stripePriceId },
137+
{ stripePriceId, adminEmail: '' },
138138
);
139-
if (!isValid) {
139+
if (!isValid && validationDecisions?.quantity) {
140140
ctx.addIssue({
141141
code: z.ZodIssueCode.custom,
142142
message: serverValidationError('quantity', validationDecisions, CheckoutErrorMessagesByField),

0 commit comments

Comments
 (0)