From 519ec667da678c2c98b5719012e3247897e3c0da Mon Sep 17 00:00:00 2001 From: Vesa Luusua Date: Wed, 14 Aug 2019 18:04:11 +0300 Subject: [PATCH] TransactionPage: savePaymentMethodFailed flag added --- .../TransactionPage/TransactionPage.duck.js | 1 + src/containers/TransactionPage/TransactionPage.js | 12 +++++++++++- .../__snapshots__/TransactionPage.test.js.snap | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/containers/TransactionPage/TransactionPage.duck.js b/src/containers/TransactionPage/TransactionPage.duck.js index 7bbfa4e4..23259368 100644 --- a/src/containers/TransactionPage/TransactionPage.duck.js +++ b/src/containers/TransactionPage/TransactionPage.duck.js @@ -80,6 +80,7 @@ const initialState = { oldestMessagePageFetched: 0, messages: [], initialMessageFailedToTransaction: null, + savePaymentMethodFailed: false, sendMessageInProgress: false, sendMessageError: null, sendReviewInProgress: false, diff --git a/src/containers/TransactionPage/TransactionPage.js b/src/containers/TransactionPage/TransactionPage.js index e5b3bed9..02106187 100644 --- a/src/containers/TransactionPage/TransactionPage.js +++ b/src/containers/TransactionPage/TransactionPage.js @@ -46,6 +46,7 @@ export const TransactionPageComponent = props => { const { currentUser, initialMessageFailedToTransaction, + savePaymentMethodFailed, fetchMessagesError, fetchMessagesInProgress, totalMessagePages, @@ -105,7 +106,11 @@ export const TransactionPageComponent = props => { }; // If payment is pending, redirect to CheckoutPage - if (txIsPaymentPending(currentTransaction) && isCustomerRole) { + if ( + txIsPaymentPending(currentTransaction) && + isCustomerRole && + currentTransaction.attributes.lineItems + ) { const currentBooking = ensureListing(currentTransaction.booking); const initialValues = { @@ -217,6 +222,7 @@ export const TransactionPageComponent = props => { oldestMessagePageFetched={oldestMessagePageFetched} messages={messages} initialMessageFailed={initialMessageFailed} + savePaymentMethodFailed={savePaymentMethodFailed} fetchMessagesError={fetchMessagesError} sendMessageInProgress={sendMessageInProgress} sendMessageError={sendMessageError} @@ -270,6 +276,7 @@ TransactionPageComponent.defaultProps = { transaction: null, fetchMessagesError: null, initialMessageFailedToTransaction: null, + savePaymentMethodFailed: false, sendMessageError: null, timeSlots: null, fetchTimeSlotsError: null, @@ -295,6 +302,7 @@ TransactionPageComponent.propTypes = { oldestMessagePageFetched: number.isRequired, messages: arrayOf(propTypes.message).isRequired, initialMessageFailedToTransaction: propTypes.uuid, + savePaymentMethodFailed: bool, sendMessageInProgress: bool.isRequired, sendMessageError: propTypes.error, onShowMoreMessages: func.isRequired, @@ -330,6 +338,7 @@ const mapStateToProps = state => { oldestMessagePageFetched, messages, initialMessageFailedToTransaction, + savePaymentMethodFailed, sendMessageInProgress, sendMessageError, sendReviewInProgress, @@ -358,6 +367,7 @@ const mapStateToProps = state => { oldestMessagePageFetched, messages, initialMessageFailedToTransaction, + savePaymentMethodFailed, sendMessageInProgress, sendMessageError, sendReviewInProgress, diff --git a/src/containers/TransactionPage/__snapshots__/TransactionPage.test.js.snap b/src/containers/TransactionPage/__snapshots__/TransactionPage.test.js.snap index 4183e204..6ab1bd50 100644 --- a/src/containers/TransactionPage/__snapshots__/TransactionPage.test.js.snap +++ b/src/containers/TransactionPage/__snapshots__/TransactionPage.test.js.snap @@ -58,6 +58,7 @@ exports[`TransactionPage - Order matches snapshot 1`] = ` onSendMessage={[Function]} onShowMoreMessages={[Function]} onSubmitBookingRequest={[Function]} + savePaymentMethodFailed={false} sendMessageError={null} sendMessageInProgress={false} timeSlots={null} @@ -280,6 +281,7 @@ exports[`TransactionPage - Sale matches snapshot 1`] = ` onSendMessage={[Function]} onShowMoreMessages={[Function]} onSubmitBookingRequest={[Function]} + savePaymentMethodFailed={false} sendMessageError={null} sendMessageInProgress={false} timeSlots={null}