From 8d3fa842e147bbd5ac4924d765cb25932459cecc Mon Sep 17 00:00:00 2001 From: Tharindu Kumarasiri Date: Thu, 4 Jul 2024 09:35:42 +0530 Subject: [PATCH 1/2] [MOB-1] Render instruction pages when instructions URL is available --- payment_sdk/src/KomojuProvider.tsx | 16 ++++++++++++++++ payment_sdk/src/components/Sheet.tsx | 9 +++++++-- payment_sdk/src/util/types.ts | 7 +++++++ payment_sdk/src/util/validator.ts | 2 +- 4 files changed, 31 insertions(+), 3 deletions(-) diff --git a/payment_sdk/src/KomojuProvider.tsx b/payment_sdk/src/KomojuProvider.tsx index a5ae86a..3706e65 100644 --- a/payment_sdk/src/KomojuProvider.tsx +++ b/payment_sdk/src/KomojuProvider.tsx @@ -261,6 +261,22 @@ export const MainStateProvider = (props: KomojuProviderIprops) => { handleWebViewNavigationStateChange(newNavState, paymentType), }, }); + } else if ( + paymentType === PaymentType.KONBINI && + response?.payment?.payment_details?.instructions_url + ) { + dispatch({ + type: Actions.SET_WEBVIEW_LINK, + payload: { + link: response?.payment?.payment_details?.instructions_url, + onNavChange: (newNavState: newNavStateProps) => + handleWebViewNavigationStateChange(newNavState, paymentType), + }, + }); + dispatch({ + type: Actions.SET_PAYMENT_STATE, + payload: ResponseScreenStatuses.COMPLETE, + }); } else if (response?.status === PaymentStatuses.SUCCESS) { onPaymentSuccess(); } else { diff --git a/payment_sdk/src/components/Sheet.tsx b/payment_sdk/src/components/Sheet.tsx index 7cdc4d9..101fd2b 100644 --- a/payment_sdk/src/components/Sheet.tsx +++ b/payment_sdk/src/components/Sheet.tsx @@ -192,13 +192,18 @@ const Sheet: ForwardRefRenderFunction = ( - closeSheet(paymentState !== ResponseScreenStatuses.SUCCESS) + closeSheet( + !( + paymentState === ResponseScreenStatuses.SUCCESS || + paymentState === ResponseScreenStatuses.COMPLETE + ) + ) } > - {paymentState ? ( + {paymentState && paymentState !== ResponseScreenStatuses.COMPLETE ? ( { const text = cardString.replaceAll(" ", ""); From 32b3decf3de9763a494ebcb2aca92e6c5f083159 Mon Sep 17 00:00:00 2001 From: Tharindu Kumarasiri Date: Thu, 4 Jul 2024 09:46:19 +0530 Subject: [PATCH 2/2] test case changes --- payment_sdk/src/__tests__/validator.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/payment_sdk/src/__tests__/validator.test.ts b/payment_sdk/src/__tests__/validator.test.ts index 8c41437..0542a51 100644 --- a/payment_sdk/src/__tests__/validator.test.ts +++ b/payment_sdk/src/__tests__/validator.test.ts @@ -13,7 +13,7 @@ describe("isCardNumberValid", () => { }); it("returns false for input exceeding max card length", () => { - expect(isCardNumberValid("12345678901234567")).toBe(false); + expect(isCardNumberValid("12345678901234567890")).toBe(false); }); it("returns false for input with non-numeric characters", () => { @@ -25,7 +25,7 @@ describe("isCardNumberValid", () => { }); it("returns false for card number with spaces but exceeding max length", () => { - expect(isCardNumberValid("1234 5678 1234 5678 90")).toBe(false); + expect(isCardNumberValid("1234 5678 1234 5678 9012")).toBe(false); }); it("returns false for input length not matching numeric conversion", () => {