@darkpos/pricing 1.0.43 → 1.0.45
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/__TEST__/item/getItemsModifierDescription.test.js +75 -78
- package/__TEST__/mocks/addItemMock.js +18729 -19357
- package/__TEST__/mocks/partially-paid/order-modifiers.json +48 -51
- package/__TEST__/mocks/partially-paid/order-partially-paid.json +893 -860
- package/__TEST__/mocks/scripts/calculate-partially-paid/index.js +2 -2
- package/__TEST__/mocks/scripts/calculate-unpaid/index.js +2 -2
- package/__TEST__/mocks/unpaid/order-modifiers.json +48 -52
- package/__TEST__/modifier/calculate.test.js +1 -0
- package/__TEST__/modifier/getMatchTagsModifiers.test.js +72 -18
- package/__TEST__/modifier/getModifierIndex.test.js +10 -7
- package/__TEST__/modifier/getRecommendedModifiers.test.js +6 -4
- package/__TEST__/modifier/hasAttribute.test.js +11 -5
- package/__TEST__/modifier/hasMatchTags.test.js +33 -11
- package/__TEST__/modifier/sort.test.js +1 -1
- package/__TEST__/order/conditionsNotMet.test.js +133 -0
- package/__TEST__/order/manualSplit.test.js +104 -0
- package/__TEST__/order/order-payment-modifier.test.js +1117 -0
- package/__TEST__/order/order.test.js +53 -105
- package/__TEST__/order/pickEndDate.test.js +7 -153
- package/__TEST__/order/validateConditionsCalculate.test.js +396 -0
- package/lib/constants/index.js +1 -1
- package/lib/index.js +11 -2
- package/lib/item/calculate.js +93 -18
- package/lib/item/getAmounts.js +14 -0
- package/lib/item/getBalance.js +0 -1
- package/lib/item/getItemModifiersDescription.js +1 -0
- package/lib/item/getItemsBalance.js +9 -0
- package/lib/item/getItemsTotals.js +27 -0
- package/lib/item/getTotal.js +3 -1
- package/lib/item/hasPaymentMethodType.js +17 -0
- package/lib/item/hasPaymentModifierWithPaymentId.js +9 -0
- package/lib/item/index.js +15 -8
- package/lib/item/removePaymentModifiersByPaymentId.js +13 -0
- package/lib/modifier/areConditionsMet.js +61 -0
- package/lib/modifier/calculatePaymentDiscountModifier.js +31 -0
- package/lib/modifier/calculatePaymentFeeModifier.js +27 -0
- package/lib/modifier/calculatePaymentModifier.js +67 -0
- package/lib/modifier/createDiscountModifier.js +2 -1
- package/lib/modifier/createFeeModifier.js +2 -1
- package/lib/modifier/getChildren.js +8 -0
- package/lib/modifier/getComputedAmount.js +9 -0
- package/lib/modifier/hasPaymentMethodType.js +14 -0
- package/lib/modifier/index.js +33 -9
- package/lib/modifier/isCalculatedPaymentModifier.js +4 -0
- package/lib/modifier/isChild.js +6 -0
- package/lib/modifier/isDiscount.js +6 -2
- package/lib/modifier/isFee.js +5 -2
- package/lib/modifier/isPaymentMethodModifier.js +4 -1
- package/lib/modifier/isPaymentTypeModifier.js +4 -1
- package/lib/modifier/isPercentage.js +10 -0
- package/lib/modifier/isValid.js +12 -0
- package/lib/modifier/sort.js +28 -0
- package/lib/modifier/validate.js +14 -0
- package/lib/modifier/validateDateDaysDiff.js +30 -0
- package/lib/modifier/validateInArr.js +12 -0
- package/lib/modifier/validateNumberCondition.js +20 -0
- package/lib/modifier/validateRequiredModifiers.js +16 -0
- package/lib/order/addItemModifier.js +72 -28
- package/lib/order/applyPayment.js +61 -0
- package/lib/order/calculate.js +45 -22
- package/lib/order/getBalance.js +0 -1
- package/lib/order/getOrdersBalance.js +8 -0
- package/lib/order/index.js +9 -10
- package/lib/order/manualSplit.js +34 -0
- package/lib/order/manualSplitByQuantity.js +50 -0
- package/lib/store/getRecommendedEndDate.js +13 -0
- package/lib/store/index.js +25 -0
- package/package.json +6 -4
- package/lib/item/getBalanceToPay.js +0 -12
- package/lib/item/getTotals.js +0 -40
- package/lib/item/markModifiersAsLocked.js +0 -11
- package/lib/modifier/createPaymentModifier.js +0 -12
- package/lib/modifier/findByPaymentMethod.js +0 -10
- package/lib/modifier/findByPaymentType.js +0 -10
- package/lib/modifier/getLockedModifiers.js +0 -5
- package/lib/order/markModifiersAsLocked.js +0 -14
- package/lib/order/removeModifiersWithPaymentMethods.js +0 -29
- package/lib/order/removeModifiersWithPaymentTypes.js +0 -27
- package/lib/{order → store}/pickEndDate.js +2 -2
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
module.exports = ({ actions }) =>
|
|
2
|
-
function findByPaymentType({ modifiers, paymentType = '' }) {
|
|
3
|
-
if (!Array.isArray(modifiers) || !paymentType) return null;
|
|
4
|
-
|
|
5
|
-
return modifiers.find(
|
|
6
|
-
each =>
|
|
7
|
-
actions.isPaymentTypeModifier(each) &&
|
|
8
|
-
each.conditions.paymentTypes.includes(paymentType)
|
|
9
|
-
);
|
|
10
|
-
};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
module.exports = ({ itemActions }) =>
|
|
2
|
-
function markModifiersAsLocked({ order, modifierIds }) {
|
|
3
|
-
if (!order || !Array.isArray(order.modifiers)) return {};
|
|
4
|
-
|
|
5
|
-
return {
|
|
6
|
-
...order,
|
|
7
|
-
modifiers: order.modifiers.map(mod =>
|
|
8
|
-
modifierIds.includes(mod._id) ? { ...mod, locked: true } : mod
|
|
9
|
-
),
|
|
10
|
-
items: (order.items || []).map(item =>
|
|
11
|
-
itemActions.markModifiersAsLocked({ item, modifierIds })
|
|
12
|
-
),
|
|
13
|
-
};
|
|
14
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
module.exports = () => {
|
|
2
|
-
const hasPaymentMethods = modifier =>
|
|
3
|
-
modifier.conditions &&
|
|
4
|
-
Array.isArray(modifier.conditions.paymentMethods) &&
|
|
5
|
-
modifier.conditions.paymentMethods.length;
|
|
6
|
-
|
|
7
|
-
return function removeModifiersWithPaymentMethods({
|
|
8
|
-
order,
|
|
9
|
-
applyItems = false,
|
|
10
|
-
}) {
|
|
11
|
-
if (!order || !Array.isArray(order.modifiers)) return order;
|
|
12
|
-
|
|
13
|
-
const newOrder = { ...order };
|
|
14
|
-
newOrder.modifiers = order.modifiers.filter(
|
|
15
|
-
each => !hasPaymentMethods(each)
|
|
16
|
-
);
|
|
17
|
-
|
|
18
|
-
if (applyItems && Array.isArray(order.items)) {
|
|
19
|
-
newOrder.items = order.items.map(item => {
|
|
20
|
-
if (!Array.isArray(item.modifiers)) return item;
|
|
21
|
-
return {
|
|
22
|
-
...item,
|
|
23
|
-
modifiers: item.modifiers.filter(each => !hasPaymentMethods(each)),
|
|
24
|
-
};
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
return newOrder;
|
|
28
|
-
};
|
|
29
|
-
};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
module.exports = () => {
|
|
2
|
-
const hasPaymentTypes = modifier =>
|
|
3
|
-
modifier.conditions &&
|
|
4
|
-
Array.isArray(modifier.conditions.paymentTypes) &&
|
|
5
|
-
modifier.conditions.paymentTypes.length;
|
|
6
|
-
|
|
7
|
-
return function removeModifiersWithPaymentTypes({
|
|
8
|
-
order,
|
|
9
|
-
applyItems = false,
|
|
10
|
-
}) {
|
|
11
|
-
if (!order || !Array.isArray(order.modifiers)) return order;
|
|
12
|
-
|
|
13
|
-
const newOrder = { ...order };
|
|
14
|
-
newOrder.modifiers = order.modifiers.filter(each => !hasPaymentTypes(each));
|
|
15
|
-
|
|
16
|
-
if (applyItems && Array.isArray(order.items)) {
|
|
17
|
-
newOrder.items = order.items.map(item => {
|
|
18
|
-
if (!Array.isArray(item.modifiers)) return item;
|
|
19
|
-
return {
|
|
20
|
-
...item,
|
|
21
|
-
modifiers: item.modifiers.filter(each => !hasPaymentTypes(each)),
|
|
22
|
-
};
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
return newOrder;
|
|
26
|
-
};
|
|
27
|
-
};
|
|
@@ -46,8 +46,6 @@ module.exports = ({ settings, _, moment }) => {
|
|
|
46
46
|
/**
|
|
47
47
|
* setting the hour and minute so we can compare with closedDays
|
|
48
48
|
*/
|
|
49
|
-
if (hour !== undefined) endDateTZ.set('hour', hour);
|
|
50
|
-
if (minute !== undefined) endDateTZ.set('minute', minute);
|
|
51
49
|
closedDays.forEach(closed => {
|
|
52
50
|
const closedDay = moment(closed.date);
|
|
53
51
|
closedDay.set('hour', hour);
|
|
@@ -56,6 +54,8 @@ module.exports = ({ settings, _, moment }) => {
|
|
|
56
54
|
endDateTZ.add(1, 'days');
|
|
57
55
|
}
|
|
58
56
|
});
|
|
57
|
+
if (hour !== undefined) endDateTZ.set('hour', hour);
|
|
58
|
+
if (minute !== undefined) endDateTZ.set('minute', minute);
|
|
59
59
|
|
|
60
60
|
return moment.utc(endDateTZ).format();
|
|
61
61
|
};
|