Skip to content

Commit

Permalink
Setting default shipping line when getting the available shipping lin…
Browse files Browse the repository at this point in the history
…es from RSA. (#17)
  • Loading branch information
Shagufa92 authored Jan 5, 2024
1 parent 5adac12 commit 2060fd1
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
8 changes: 7 additions & 1 deletion src/paypal/ppcp_apple/ppcpOnShippingContactSelectedApple.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ import {
setTaxes,
estimateShippingLines,
estimateTaxes,
getOrderInitialData
getOrderInitialData,
changeShippingLine
} from '@boldcommerce/checkout-frontend-library';

export async function ppcpOnShippingContactSelectedApple(event: ApplePayShippingContactSelectedEvent): Promise<void> {
Expand Down Expand Up @@ -50,6 +51,11 @@ export async function ppcpOnShippingContactSelectedApple(event: ApplePayShipping
let shippingResponseSuccess = true;

if (rsaEnabled) {
const {selected_shipping: selectedShipping, available_shipping_lines: shippingLines} = getShipping();
if (!selectedShipping && shippingLines.length > 0) {
await changeShippingLine(shippingLines[0].id, API_RETRY);
}
await getShippingLines(API_RETRY);
taxResponse = await estimateTaxes(address, API_RETRY);
} else {
const shippingLinesResponse = await getShippingLines(API_RETRY);
Expand Down
12 changes: 10 additions & 2 deletions tests/paypal/ppcp_apple/ppcpOnShippingContactSelectedApple.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import {
setTaxes,
estimateTaxes,
estimateShippingLines,
getOrderInitialData
getOrderInitialData, IShipping
} from '@boldcommerce/checkout-frontend-library';
import {
addressesMock,
Expand Down Expand Up @@ -127,6 +127,14 @@ describe('testing ppcpOnShippingContactSelectedApple function',() => {
newShippingMethods: shippingMethodsMock,
newTotal: {amount: '100.00', label: 'Total'}
};

getShippingMock.mockReturnValueOnce(
{...shippingMock,
selected_shipping: null,
available_shipping_lines: [
{id: '1', description: 'option'}
]} as unknown as IShipping
);
orderInitialDataMock.general_settings.checkout_process.rsa_enabled = true;
getOrderInitialDataMock.mockReturnValue(orderInitialDataMock);

Expand All @@ -142,7 +150,7 @@ describe('testing ppcpOnShippingContactSelectedApple function',() => {
expect(estimateTaxesMock).toBeCalledWith(addressesMock.shipping, API_RETRY);
expect(getApplicationStateMock).toBeCalledTimes(1);
expect(getPaymentRequestDisplayItemsMock).toBeCalledTimes(1);
expect(getShippingMock).toBeCalledTimes(1);
expect(getShippingMock).toBeCalledTimes(2);
expect(applePaySessionCompleteShippingContactSelection).toBeCalledTimes(1);
expect(applePaySessionCompleteShippingContactSelection).toBeCalledWith(expectedCompleteParam);
});
Expand Down

0 comments on commit 2060fd1

Please sign in to comment.