@darkpos/pricing 1.0.44 → 1.0.46
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 -85
- package/__TEST__/mocks/scripts/calculate-partially-paid/index.js +2 -2
- package/__TEST__/mocks/scripts/calculate-unpaid/index.js +2 -2
- package/__TEST__/modifier/hasModifier.test.js +1626 -0
- package/__TEST__/order/addItem.test.js +2 -4
- package/__TEST__/order/manualSplit.test.js +104 -0
- package/__TEST__/order/order-payment-modifier.test.js +1117 -0
- package/__TEST__/order/order.test.js +50 -104
- package/__TEST__/order/pickEndDate.test.js +7 -153
- package/__TEST__/order/validateConditionsCalculate.test.js +42 -43
- package/lib/item/calculate.js +67 -9
- package/lib/item/getAmounts.js +14 -0
- package/lib/item/getBalance.js +0 -1
- package/lib/item/getInvalidRequiredModifiers.js +24 -0
- package/lib/item/getItemModifiersDescription.js +2 -1
- package/lib/item/getItemsBalance.js +9 -0
- package/lib/item/getItemsTotals.js +27 -0
- package/lib/item/getPipeModifiers.js +10 -0
- package/lib/item/getTotal.js +3 -1
- package/lib/item/hasModifier.js +21 -9
- package/lib/item/hasModifiers.js +3 -4
- package/lib/item/hasPaymentMethodType.js +17 -0
- package/lib/item/hasPaymentModifierWithPaymentId.js +9 -0
- package/lib/item/index.js +19 -10
- package/lib/item/removePaymentModifiersByPaymentId.js +13 -0
- package/lib/modifier/areConditionsMet.js +3 -13
- 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/duplicate.js +1 -1
- package/lib/modifier/getChildren.js +8 -0
- package/lib/modifier/getComputedAmount.js +9 -0
- package/lib/modifier/getGroupRelatedModifiers.js +5 -1
- package/lib/modifier/getItemModifiers.js +1 -3
- package/lib/modifier/hasPaymentMethodType.js +14 -0
- package/lib/modifier/index.js +23 -4
- 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/isRelatedModifier.js +13 -0
- package/lib/modifier/removeGroupData.js +20 -0
- package/lib/modifier/sort.js +28 -0
- package/lib/order/addItemModifier.js +8 -1
- package/lib/order/applyPayment.js +61 -0
- package/lib/order/calculate.js +34 -16
- package/lib/order/getBalance.js +0 -1
- package/lib/order/getOrdersBalance.js +8 -0
- package/lib/order/index.js +9 -8
- package/lib/order/manualSplit.js +34 -0
- package/lib/order/manualSplitByQuantity.js +50 -0
- package/lib/store/pickEndDate.js +2 -2
- package/package.json +7 -4
- package/lib/item/getBalanceToPay.js +0 -12
- package/lib/item/getTotals.js +0 -40
- package/lib/item/isSelected.js +0 -13
- package/lib/item/markModifiersAsLocked.js +0 -13
- package/lib/modifier/createPaymentModifier.js +0 -12
- package/lib/modifier/getLockedModifiers.js +0 -5
- package/lib/order/markModifiersAsLocked.js +0 -14
- package/lib/order/removeModifiersWithPaymentMethods.js +0 -28
- package/lib/order/removeModifiersWithPaymentTypes.js +0 -26
package/lib/item/getTotals.js
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-restricted-syntax */
|
|
2
|
-
|
|
3
|
-
module.exports = ({ utils }) => {
|
|
4
|
-
const { math } = utils;
|
|
5
|
-
return function getTotals(items) {
|
|
6
|
-
let subTotals = {};
|
|
7
|
-
let subTotal = 0;
|
|
8
|
-
|
|
9
|
-
for (const item of items) {
|
|
10
|
-
subTotal = math.add(subTotal, item.subTotals._actual);
|
|
11
|
-
const keys = Object.keys(item.subTotals).filter(
|
|
12
|
-
key => !key.includes('_')
|
|
13
|
-
);
|
|
14
|
-
for (const key of keys) {
|
|
15
|
-
subTotals[key] = math.add(subTotals[key] || 0, item.subTotals[key]);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const total = math.toDecimalPlaces(
|
|
20
|
-
Object.keys(subTotals).reduce(
|
|
21
|
-
(acc, key) => math.add(acc, subTotals[key]),
|
|
22
|
-
subTotal
|
|
23
|
-
)
|
|
24
|
-
);
|
|
25
|
-
|
|
26
|
-
subTotals = Object.keys(subTotals).reduce(
|
|
27
|
-
(acc, key) => ({
|
|
28
|
-
...acc,
|
|
29
|
-
[key]: math.toDecimalPlaces(subTotals[key]),
|
|
30
|
-
}),
|
|
31
|
-
{}
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
return {
|
|
35
|
-
subTotals,
|
|
36
|
-
subTotal,
|
|
37
|
-
total,
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
};
|
package/lib/item/isSelected.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
module.exports = ({ modifierActions, actions }) =>
|
|
2
|
-
function isSelected({ item, modifier }) {
|
|
3
|
-
if (!item || !item.modifiers || !modifier) return false;
|
|
4
|
-
let hasModifier = actions.hasModifier({ item, modifier });
|
|
5
|
-
|
|
6
|
-
if (!hasModifier && modifierActions.isGroupOfModifiers(modifier))
|
|
7
|
-
hasModifier = actions.hasModifiers({
|
|
8
|
-
item,
|
|
9
|
-
modifiers: modifier.properties.group.modifiers,
|
|
10
|
-
});
|
|
11
|
-
|
|
12
|
-
return hasModifier;
|
|
13
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
module.exports = () =>
|
|
2
|
-
function markModifiersAsLocked({ item, modifierIds }) {
|
|
3
|
-
if (!item || !Array.isArray(item.modifiers)) return {};
|
|
4
|
-
|
|
5
|
-
return {
|
|
6
|
-
...item,
|
|
7
|
-
modifiers: item.modifiers.map(mod =>
|
|
8
|
-
modifierIds.includes(mod._parentId || mod._id)
|
|
9
|
-
? { ...mod, locked: true }
|
|
10
|
-
: mod
|
|
11
|
-
),
|
|
12
|
-
};
|
|
13
|
-
};
|
|
@@ -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,28 +0,0 @@
|
|
|
1
|
-
module.exports = () => {
|
|
2
|
-
const hasPaymentMethods = modifier =>
|
|
3
|
-
modifier.conditions &&
|
|
4
|
-
modifier.conditions.some(condition => condition.key === 'paymentMethods');
|
|
5
|
-
|
|
6
|
-
return function removeModifiersWithPaymentMethods({
|
|
7
|
-
order,
|
|
8
|
-
applyItems = false,
|
|
9
|
-
}) {
|
|
10
|
-
if (!order || !Array.isArray(order.modifiers)) return order;
|
|
11
|
-
|
|
12
|
-
const newOrder = { ...order };
|
|
13
|
-
newOrder.modifiers = order.modifiers.filter(
|
|
14
|
-
each => !hasPaymentMethods(each)
|
|
15
|
-
);
|
|
16
|
-
|
|
17
|
-
if (applyItems && Array.isArray(order.items)) {
|
|
18
|
-
newOrder.items = order.items.map(item => {
|
|
19
|
-
if (!Array.isArray(item.modifiers)) return item;
|
|
20
|
-
return {
|
|
21
|
-
...item,
|
|
22
|
-
modifiers: item.modifiers.filter(each => !hasPaymentMethods(each)),
|
|
23
|
-
};
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
return newOrder;
|
|
27
|
-
};
|
|
28
|
-
};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
module.exports = () => {
|
|
2
|
-
const hasPaymentTypes = modifier =>
|
|
3
|
-
modifier.conditions &&
|
|
4
|
-
modifier.conditions.some(condition => condition.key === 'paymentMethods');
|
|
5
|
-
|
|
6
|
-
return function removeModifiersWithPaymentTypes({
|
|
7
|
-
order,
|
|
8
|
-
applyItems = false,
|
|
9
|
-
}) {
|
|
10
|
-
if (!order || !Array.isArray(order.modifiers)) return order;
|
|
11
|
-
|
|
12
|
-
const newOrder = { ...order };
|
|
13
|
-
newOrder.modifiers = order.modifiers.filter(each => !hasPaymentTypes(each));
|
|
14
|
-
|
|
15
|
-
if (applyItems && Array.isArray(order.items)) {
|
|
16
|
-
newOrder.items = order.items.map(item => {
|
|
17
|
-
if (!Array.isArray(item.modifiers)) return item;
|
|
18
|
-
return {
|
|
19
|
-
...item,
|
|
20
|
-
modifiers: item.modifiers.filter(each => !hasPaymentTypes(each)),
|
|
21
|
-
};
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
return newOrder;
|
|
25
|
-
};
|
|
26
|
-
};
|