Update TransactionPanel component: use SCA process

This commit is contained in:
Vesa Luusua 2019-06-19 17:30:15 +03:00
parent 551ea6a9b3
commit b8381bf2f4
5 changed files with 319 additions and 57 deletions

View file

@ -7,6 +7,8 @@ import { NamedLink } from '../../components';
import css from './TransactionPanel.css'; import css from './TransactionPanel.css';
export const HEADING_ENQUIRED = 'enquired'; export const HEADING_ENQUIRED = 'enquired';
export const HEADING_PAYMENT_PENDING = 'pending-payment';
export const HEADING_PAYMENT_EXPIRED = 'payment-expired';
export const HEADING_REQUESTED = 'requested'; export const HEADING_REQUESTED = 'requested';
export const HEADING_ACCEPTED = 'accepted'; export const HEADING_ACCEPTED = 'accepted';
export const HEADING_DECLINED = 'declined'; export const HEADING_DECLINED = 'declined';
@ -74,7 +76,7 @@ const CustomerBannedInfoMaybe = props => {
}; };
const HeadingProvider = props => { const HeadingProvider = props => {
const { className, id, values, isCustomerBanned } = props; const { className, id, values, isCustomerBanned, children } = props;
return ( return (
<React.Fragment> <React.Fragment>
<h1 className={className}> <h1 className={className}>
@ -82,6 +84,7 @@ const HeadingProvider = props => {
<FormattedMessage id={id} values={values} /> <FormattedMessage id={id} values={values} />
</span> </span>
</h1> </h1>
{children}
<CustomerBannedInfoMaybe isCustomerBanned={isCustomerBanned} /> <CustomerBannedInfoMaybe isCustomerBanned={isCustomerBanned} />
</React.Fragment> </React.Fragment>
); );
@ -125,6 +128,45 @@ const PanelHeading = props => {
isCustomerBanned={isCustomerBanned} isCustomerBanned={isCustomerBanned}
/> />
); );
case HEADING_PAYMENT_PENDING:
return isCustomer ? (
<HeadingCustomer
className={titleClasses}
id="TransactionPanel.orderPaymentPendingTitle"
values={{ listingLink }}
listingDeleted={listingDeleted}
/>
) : (
<HeadingProvider
className={titleClasses}
id="TransactionPanel.salePaymentPendingTitle"
values={{ customerName, listingLink }}
isCustomerBanned={isCustomerBanned}
>
<p className={css.transactionInfoMessage}>
<FormattedMessage
id="TransactionPanel.salePaymentPendingInfo"
values={{ customerName }}
/>
</p>
</HeadingProvider>
);
case HEADING_PAYMENT_EXPIRED:
return isCustomer ? (
<HeadingCustomer
className={titleClasses}
id="TransactionPanel.orderPaymentExpiredTitle"
values={{ listingLink }}
listingDeleted={listingDeleted}
/>
) : (
<HeadingProvider
className={titleClasses}
id="TransactionPanel.salePaymentExpiredTitle"
values={{ customerName, listingLink }}
isCustomerBanned={isCustomerBanned}
/>
);
case HEADING_REQUESTED: case HEADING_REQUESTED:
return isCustomer ? ( return isCustomer ? (
<HeadingCustomerWithSubtitle <HeadingCustomerWithSubtitle

View file

@ -7,6 +7,8 @@ import {
txIsCanceled, txIsCanceled,
txIsDeclined, txIsDeclined,
txIsEnquired, txIsEnquired,
txIsPaymentExpired,
txIsPaymentPending,
txIsRequested, txIsRequested,
txHasBeenDelivered, txHasBeenDelivered,
} from '../../util/transaction'; } from '../../util/transaction';
@ -32,6 +34,8 @@ import FeedSection from './FeedSection';
import SaleActionButtonsMaybe from './SaleActionButtonsMaybe'; import SaleActionButtonsMaybe from './SaleActionButtonsMaybe';
import PanelHeading, { import PanelHeading, {
HEADING_ENQUIRED, HEADING_ENQUIRED,
HEADING_PAYMENT_PENDING,
HEADING_PAYMENT_EXPIRED,
HEADING_REQUESTED, HEADING_REQUESTED,
HEADING_ACCEPTED, HEADING_ACCEPTED,
HEADING_DECLINED, HEADING_DECLINED,
@ -202,6 +206,16 @@ export class TransactionPanelComponent extends Component {
headingState: HEADING_ENQUIRED, headingState: HEADING_ENQUIRED,
showBookingPanel: isCustomer && !isProviderBanned, showBookingPanel: isCustomer && !isProviderBanned,
}; };
} else if (txIsPaymentPending(tx)) {
return {
headingState: HEADING_PAYMENT_PENDING,
showDetailCardHeadings: isCustomer,
};
} else if (txIsPaymentExpired(tx)) {
return {
headingState: HEADING_PAYMENT_EXPIRED,
showDetailCardHeadings: isCustomer,
};
} else if (txIsRequested(tx)) { } else if (txIsRequested(tx)) {
return { return {
headingState: HEADING_REQUESTED, headingState: HEADING_REQUESTED,

View file

@ -19,7 +19,8 @@ import {
TRANSITION_DECLINE, TRANSITION_DECLINE,
TRANSITION_ENQUIRE, TRANSITION_ENQUIRE,
TRANSITION_EXPIRE, TRANSITION_EXPIRE,
TRANSITION_REQUEST, TRANSITION_REQUEST_PAYMENT,
TRANSITION_CONFIRM_PAYMENT,
} from '../../util/transaction'; } from '../../util/transaction';
import BreakdownMaybe from './BreakdownMaybe'; import BreakdownMaybe from './BreakdownMaybe';
import { TransactionPanelComponent } from './TransactionPanel'; import { TransactionPanelComponent } from './TransactionPanel';
@ -57,7 +58,7 @@ describe('TransactionPanel - Sale', () => {
const txPreauthorized = createTransaction({ const txPreauthorized = createTransaction({
id: 'sale-preauthorized', id: 'sale-preauthorized',
lastTransition: TRANSITION_REQUEST, lastTransition: TRANSITION_REQUEST_PAYMENT,
...baseTxAttrs, ...baseTxAttrs,
}); });
@ -92,7 +93,7 @@ describe('TransactionPanel - Sale', () => {
createTxTransition({ createTxTransition({
createdAt: new Date(Date.UTC(2017, 4, 1)), createdAt: new Date(Date.UTC(2017, 4, 1)),
by: 'customer', by: 'customer',
transition: TRANSITION_REQUEST, transition: TRANSITION_REQUEST_PAYMENT,
}), }),
createTxTransition({ createTxTransition({
createdAt: new Date(Date.UTC(2017, 5, 1)), createdAt: new Date(Date.UTC(2017, 5, 1)),
@ -197,7 +198,7 @@ describe('TransactionPanel - Sale', () => {
const transaction = createTransaction({ const transaction = createTransaction({
id: 'sale-tx', id: 'sale-tx',
lastTransition: TRANSITION_REQUEST, lastTransition: TRANSITION_REQUEST_PAYMENT,
total: new Money(16500, 'USD'), total: new Money(16500, 'USD'),
commission: new Money(1000, 'USD'), commission: new Money(1000, 'USD'),
booking: createBooking('booking1', { booking: createBooking('booking1', {
@ -252,7 +253,7 @@ describe('TransactionPanel - Order', () => {
const txPreauthorized = createTransaction({ const txPreauthorized = createTransaction({
id: 'order-preauthorized', id: 'order-preauthorized',
lastTransition: TRANSITION_REQUEST, lastTransition: TRANSITION_CONFIRM_PAYMENT,
...baseTxAttrs, ...baseTxAttrs,
}); });
@ -287,7 +288,12 @@ describe('TransactionPanel - Order', () => {
createTxTransition({ createTxTransition({
createdAt: new Date(Date.UTC(2017, 4, 1)), createdAt: new Date(Date.UTC(2017, 4, 1)),
by: 'customer', by: 'customer',
transition: TRANSITION_REQUEST, transition: TRANSITION_REQUEST_PAYMENT,
}),
createTxTransition({
createdAt: new Date(Date.UTC(2017, 4, 1, 0, 0, 1)),
by: 'customer',
transition: TRANSITION_CONFIRM_PAYMENT,
}), }),
createTxTransition({ createTxTransition({
createdAt: new Date(Date.UTC(2017, 5, 1)), createdAt: new Date(Date.UTC(2017, 5, 1)),
@ -393,7 +399,7 @@ describe('TransactionPanel - Order', () => {
const end = new Date(Date.UTC(2017, 5, 13)); const end = new Date(Date.UTC(2017, 5, 13));
const tx = createTransaction({ const tx = createTransaction({
id: 'order-tx', id: 'order-tx',
lastTransition: TRANSITION_REQUEST, lastTransition: TRANSITION_REQUEST_PAYMENT,
total: new Money(16500, 'USD'), total: new Money(16500, 'USD'),
booking: createBooking('booking1', { booking: createBooking('booking1', {
start, start,

View file

@ -180,7 +180,12 @@ exports[`TransactionPanel - Order accepted matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -325,7 +330,12 @@ exports[`TransactionPanel - Order accepted matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -605,7 +615,12 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -922,7 +937,12 @@ exports[`TransactionPanel - Order autodeclined matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -1067,7 +1087,12 @@ exports[`TransactionPanel - Order autodeclined matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -1346,7 +1371,12 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -1664,7 +1694,12 @@ exports[`TransactionPanel - Order canceled matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -1809,7 +1844,12 @@ exports[`TransactionPanel - Order canceled matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -2089,7 +2129,12 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -2406,7 +2451,12 @@ exports[`TransactionPanel - Order declined matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -2551,7 +2601,12 @@ exports[`TransactionPanel - Order declined matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -2830,7 +2885,12 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -3148,7 +3208,12 @@ exports[`TransactionPanel - Order delivered matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -3298,7 +3363,12 @@ exports[`TransactionPanel - Order delivered matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -3583,7 +3653,12 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -3905,7 +3980,12 @@ exports[`TransactionPanel - Order enquired matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -4050,7 +4130,12 @@ exports[`TransactionPanel - Order enquired matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -4328,7 +4413,12 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -4591,7 +4681,7 @@ exports[`TransactionPanel - Order preauthorized matches snapshot 1`] = `
Object { Object {
"attributes": Object { "attributes": Object {
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"lastTransition": "transition/request", "lastTransition": "transition/confirm-payment",
"lastTransitionedAt": 2017-06-01T00:00:00.000Z, "lastTransitionedAt": 2017-06-01T00:00:00.000Z,
"lineItems": Array [ "lineItems": Array [
Object { Object {
@ -4645,7 +4735,12 @@ exports[`TransactionPanel - Order preauthorized matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -4736,7 +4831,7 @@ exports[`TransactionPanel - Order preauthorized matches snapshot 1`] = `
Object { Object {
"attributes": Object { "attributes": Object {
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"lastTransition": "transition/request", "lastTransition": "transition/confirm-payment",
"lastTransitionedAt": 2017-06-01T00:00:00.000Z, "lastTransitionedAt": 2017-06-01T00:00:00.000Z,
"lineItems": Array [ "lineItems": Array [
Object { Object {
@ -4790,7 +4885,12 @@ exports[`TransactionPanel - Order preauthorized matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -5015,7 +5115,7 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"attributes": Object { "attributes": Object {
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"lastTransition": "transition/request", "lastTransition": "transition/confirm-payment",
"lastTransitionedAt": 2017-06-01T00:00:00.000Z, "lastTransitionedAt": 2017-06-01T00:00:00.000Z,
"lineItems": Array [ "lineItems": Array [
Object { Object {
@ -5069,7 +5169,12 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -5387,7 +5492,12 @@ exports[`TransactionPanel - Sale accepted matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -5532,7 +5642,12 @@ exports[`TransactionPanel - Sale accepted matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -5812,7 +5927,12 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -6129,7 +6249,12 @@ exports[`TransactionPanel - Sale autodeclined matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -6274,7 +6399,12 @@ exports[`TransactionPanel - Sale autodeclined matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -6553,7 +6683,12 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -6871,7 +7006,12 @@ exports[`TransactionPanel - Sale canceled matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -7016,7 +7156,12 @@ exports[`TransactionPanel - Sale canceled matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -7296,7 +7441,12 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -7613,7 +7763,12 @@ exports[`TransactionPanel - Sale declined matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -7758,7 +7913,12 @@ exports[`TransactionPanel - Sale declined matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -8037,7 +8197,12 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -8355,7 +8520,7 @@ exports[`TransactionPanel - Sale delivered matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -8505,7 +8670,7 @@ exports[`TransactionPanel - Sale delivered matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -8790,7 +8955,7 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -9112,7 +9277,12 @@ exports[`TransactionPanel - Sale enquired matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -9257,7 +9427,12 @@ exports[`TransactionPanel - Sale enquired matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -9535,7 +9710,12 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -9743,7 +9923,7 @@ exports[`TransactionPanel - Sale preauthorized matches snapshot 1`] = `
listingDeleted={false} listingDeleted={false}
listingId="listing1" listingId="listing1"
listingTitle="listing1 title" listingTitle="listing1 title"
panelHeadingState="requested" panelHeadingState="pending-payment"
providerName={ providerName={
<UserDisplayName <UserDisplayName
bannedUserDisplayName={null} bannedUserDisplayName={null}
@ -9798,7 +9978,7 @@ exports[`TransactionPanel - Sale preauthorized matches snapshot 1`] = `
Object { Object {
"attributes": Object { "attributes": Object {
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"lastTransition": "transition/request", "lastTransition": "transition/request-payment",
"lastTransitionedAt": 2017-06-10T00:00:00.000Z, "lastTransitionedAt": 2017-06-10T00:00:00.000Z,
"lineItems": Array [ "lineItems": Array [
Object { Object {
@ -9852,7 +10032,12 @@ exports[`TransactionPanel - Sale preauthorized matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -9943,7 +10128,7 @@ exports[`TransactionPanel - Sale preauthorized matches snapshot 1`] = `
Object { Object {
"attributes": Object { "attributes": Object {
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"lastTransition": "transition/request", "lastTransition": "transition/request-payment",
"lastTransitionedAt": 2017-06-10T00:00:00.000Z, "lastTransitionedAt": 2017-06-10T00:00:00.000Z,
"lineItems": Array [ "lineItems": Array [
Object { Object {
@ -9997,7 +10182,12 @@ exports[`TransactionPanel - Sale preauthorized matches snapshot 1`] = `
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",
@ -10222,7 +10412,7 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"attributes": Object { "attributes": Object {
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"lastTransition": "transition/request", "lastTransition": "transition/request-payment",
"lastTransitionedAt": 2017-06-10T00:00:00.000Z, "lastTransitionedAt": 2017-06-10T00:00:00.000Z,
"lineItems": Array [ "lineItems": Array [
Object { Object {
@ -10276,7 +10466,12 @@ Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor i
Object { Object {
"by": "customer", "by": "customer",
"createdAt": 2017-05-01T00:00:00.000Z, "createdAt": 2017-05-01T00:00:00.000Z,
"transition": "transition/request", "transition": "transition/request-payment",
},
Object {
"by": "customer",
"createdAt": 2017-05-01T00:00:01.000Z,
"transition": "transition/confirm-payment",
}, },
Object { Object {
"by": "provider", "by": "provider",

View file

@ -860,6 +860,8 @@
"TransactionPanel.orderDeclinedTitle": "{customerName}, your booking for {listingLink} has been declined.", "TransactionPanel.orderDeclinedTitle": "{customerName}, your booking for {listingLink} has been declined.",
"TransactionPanel.orderDeliveredTitle": "{customerName}, your booking for {listingLink} has been completed.", "TransactionPanel.orderDeliveredTitle": "{customerName}, your booking for {listingLink} has been completed.",
"TransactionPanel.orderEnquiredTitle": "You enquired about {listingLink}", "TransactionPanel.orderEnquiredTitle": "You enquired about {listingLink}",
"TransactionPanel.orderPaymentExpiredTitle": "You did not confirm the payment in time",
"TransactionPanel.orderPaymentPendingTitle": "You have not confirmed payment yet",
"TransactionPanel.orderPreauthorizedInfo": "{providerName} has been notified about the booking request. Sit back and relax.", "TransactionPanel.orderPreauthorizedInfo": "{providerName} has been notified about the booking request. Sit back and relax.",
"TransactionPanel.orderPreauthorizedSubtitle": "You have requested to book {listingLink}.", "TransactionPanel.orderPreauthorizedSubtitle": "You have requested to book {listingLink}.",
"TransactionPanel.orderPreauthorizedTitle": "Great success, {customerName}!", "TransactionPanel.orderPreauthorizedTitle": "Great success, {customerName}!",
@ -872,6 +874,9 @@
"TransactionPanel.saleDeclinedTitle": "The request from {customerName} to book {listingLink} has been declined.", "TransactionPanel.saleDeclinedTitle": "The request from {customerName} to book {listingLink} has been declined.",
"TransactionPanel.saleDeliveredTitle": "The booking from {customerName} for {listingLink} has been completed.", "TransactionPanel.saleDeliveredTitle": "The booking from {customerName} for {listingLink} has been completed.",
"TransactionPanel.saleEnquiredTitle": "{customerName} enquired about {listingLink}", "TransactionPanel.saleEnquiredTitle": "{customerName} enquired about {listingLink}",
"TransactionPanel.salePaymentExpiredTitle": "Payment for {listingLink} was not confirmed in time",
"TransactionPanel.salePaymentPendingInfo": "{customerName} has 15 minutes to confirm the payment",
"TransactionPanel.salePaymentPendingTitle": "Payment for {listingLink} is not yet confirmed",
"TransactionPanel.saleRequestedInfo": "{customerName} is waiting for your response.", "TransactionPanel.saleRequestedInfo": "{customerName} is waiting for your response.",
"TransactionPanel.saleRequestedTitle": "{customerName} has requested to book {listingLink}.", "TransactionPanel.saleRequestedTitle": "{customerName} has requested to book {listingLink}.",
"TransactionPanel.sendingMessageNotAllowed": "This user has been removed. Sending message to the user is not possible anymore.", "TransactionPanel.sendingMessageNotAllowed": "This user has been removed. Sending message to the user is not possible anymore.",