Skip to content

Commit f8eaa1b

Browse files
committed
Fix not loading alternative payments due to simple order changes
1 parent 324e44d commit f8eaa1b

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

src/initialize/initialize.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,12 @@ export async function initialize(initData: IInitializeOrderResponse | IInitializ
2626
const returnObject = {...baseReturnObject};
2727
returnObject.success = true;
2828
returnObject.response = initData;
29-
const keysToCheck = [keysToTestFromResponse.jwt_token, keysToTestFromResponse.public_order_id];
29+
let keysToCheck = [keysToTestFromResponse.applicationState, keysToTestFromResponse.initial_data, keysToTestFromResponse.jwt_token, keysToTestFromResponse.public_order_id];
30+
31+
if (!('initial_data' in initData)) {
32+
keysToCheck = [keysToTestFromResponse.jwt_token, keysToTestFromResponse.public_order_id];
33+
}
34+
3035
const returnValue = checkApiResponse(returnObject, keysToCheck);
3136
if(!returnValue.success) {
3237
return returnValue;

tests/initialize/initialize.test.ts

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
1-
import {environmentTypes, apiErrors, baseReturnObject, initialize, IApiReturnObject, IFetchError, FetchError} from 'src';
1+
import {
2+
environmentTypes,
3+
apiErrors,
4+
baseReturnObject,
5+
initialize,
6+
IApiReturnObject,
7+
IFetchError,
8+
FetchError,
9+
IInitializeSimpleOrderResponse
10+
} from 'src';
211
import {initializeOrderResponseMock} from 'src/variables/mocks';
312
import * as checkApiResponse from 'src/utils/apiResponse';
413

@@ -32,6 +41,17 @@ describe('testing initialize function', () => {
3241
expect(checkApiResponseSpy).toHaveBeenCalledTimes(timesCalled);
3342
});
3443

44+
test('successful initialize with simple order', async () => {
45+
const simpleOrder: IInitializeSimpleOrderResponse = {jwt_token: initData.jwt_token, public_order_id: initData.public_order_id, flow_settings: initData.initial_data.flow_settings};
46+
checkApiResponseSpy.mockReturnValueOnce(successReturn);
47+
const response = await initialize(simpleOrder, 'shopIdentifier', { type: environmentTypes.staging });
48+
49+
expect((response as IApiReturnObject).success).toBe(true);
50+
expect((response as IApiReturnObject).error).toBeNull();
51+
expect((response as IApiReturnObject).response).toEqual(successReturn.response);
52+
expect(checkApiResponseSpy).toHaveBeenCalledTimes(timesCalled);
53+
});
54+
3555
test('failed initalize: key not found in object', async () => {
3656
const tempReturnObject = {...baseReturnObject};
3757
tempReturnObject.error = new FetchError(apiErrors.general.status, apiErrors.general.message);

0 commit comments

Comments
 (0)