@darkpos/pricing 1.0.75 → 1.0.77

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.
@@ -0,0 +1,21 @@
1
+ const usePricing = require('../../index');
2
+ const mockStores = require('../mocks/stores');
3
+
4
+ const session = {
5
+ store: mockStores[0],
6
+ };
7
+
8
+ const pricingService = usePricing(session);
9
+
10
+ describe('Item actions - unpick item', () => {
11
+ test('unpick item', () => {
12
+ const orderItem = {
13
+ price: 30,
14
+ quantity: 2,
15
+ status: { picked: { value: true, date: new Date() } },
16
+ };
17
+
18
+ const newItem = pricingService.item.unpickItem(orderItem);
19
+ expect(newItem.status.picked).toStrictEqual({ value: false, date: '' });
20
+ });
21
+ });
@@ -19,10 +19,9 @@ describe('pickEndDate function', () => {
19
19
  test('Get EndDate, today is an Skip date', () => {
20
20
  const schedule = {
21
21
  addDays: 1,
22
- hour: 17,
23
- minute: 0,
24
22
  skipDays: [7],
25
23
  cutHour: { hour: 16, minute: 0 },
24
+ readyHour: { hour: 17, minute: 0 },
26
25
  cutDay: 2,
27
26
  };
28
27
 
@@ -37,8 +36,7 @@ describe('pickEndDate function', () => {
37
36
  test('Order falls on a closed day', () => {
38
37
  const schedule = {
39
38
  addDays: 1,
40
- hour: 14,
41
- minute: 0,
39
+ readyHour: { hour: 14, minute: 0 },
42
40
  skipDays: [7], // Skip Sunday
43
41
  cutHour: { hour: 16, minute: 0 },
44
42
  cutDay: 2,
@@ -55,8 +53,7 @@ describe('pickEndDate function', () => {
55
53
  test('Get endDate if today is friday and Saturday and Sunday are skip days', () => {
56
54
  const schedule = {
57
55
  addDays: 1,
58
- hour: 17,
59
- minute: 0,
56
+ readyHour: { hour: 17, minute: 0 },
60
57
  skipDays: [6, 7], // Skip Saturday and Sunday
61
58
  cutHour: { hour: 16, minute: 0 },
62
59
  cutDay: 5,
@@ -73,8 +70,7 @@ describe('pickEndDate function', () => {
73
70
  test('Order time before cut-off hour', () => {
74
71
  const schedule = {
75
72
  addDays: 0, // Same day
76
- hour: 17,
77
- minute: 0,
73
+ readyHour: { hour: 17, minute: 0 },
78
74
  skipDays: [],
79
75
  cutHour: { hour: 16, minute: 0 }, // Cut-off at 4 PM
80
76
  cutDay: 5,
@@ -90,18 +86,13 @@ describe('pickEndDate function', () => {
90
86
 
91
87
  test('Order time after cut-off hour', () => {
92
88
  const schedule = {
93
- hour: 17,
94
- minute: 0,
89
+ readyHour: { hour: 17, minute: 0 },
95
90
  cutDay: 5,
96
91
  skipDays: [],
97
92
  cutHour: {
98
93
  hour: 0,
99
94
  minute: 0,
100
95
  },
101
- time: {
102
- hour: 16,
103
- minute: 0,
104
- },
105
96
  addDays: 1,
106
97
  recommended: 'nothing_recommended',
107
98
  };
@@ -117,8 +108,7 @@ describe('pickEndDate function', () => {
117
108
  test('Get EndDate, there are skip dates in between', () => {
118
109
  const schedule = {
119
110
  addDays: 1,
120
- hour: 17,
121
- minute: 0,
111
+ readyHour: { hour: 17, minute: 0 },
122
112
  skipDays: [7, 0],
123
113
  cutHour: { hour: 16, minute: 0 },
124
114
  cutDay: 2,
@@ -135,8 +125,7 @@ describe('pickEndDate function', () => {
135
125
  test('Get EndDate, Now date is an skip day', () => {
136
126
  const schedule = {
137
127
  addDays: 1,
138
- hour: 20,
139
- minute: 0,
128
+ readyHour: { hour: 20, minute: 0 },
140
129
  skipDays: [1, 7],
141
130
  cutHour: { hour: 16, minute: 0 },
142
131
  cutDay: 2,
@@ -0,0 +1,97 @@
1
+ const usePricing = require('../../index');
2
+ const mockStores = require('../mocks/stores');
3
+
4
+ const session = {
5
+ store: mockStores[0],
6
+ };
7
+
8
+ const pricingService = usePricing(session);
9
+
10
+ describe('Order actions - unpick order', () => {
11
+ test('unpick items in parent order', () => {
12
+ const orderItem = {
13
+ price: 30,
14
+ quantity: 2,
15
+ status: { picked: { value: true, date: new Date() } },
16
+ };
17
+ const order = { items: [orderItem], status: { fullyPicked: true } };
18
+ const newOrder = pricingService.order.unpickOrder(order);
19
+ expect(newOrder.status.fullyPicked).toBe(false);
20
+ newOrder.items.map(item =>
21
+ expect(item.status.picked).toStrictEqual({ value: false, date: '' })
22
+ );
23
+ });
24
+ test('unpick 10 items in parent order', () => {
25
+ const orderItem = {
26
+ price: 30,
27
+ quantity: 2,
28
+ status: { picked: { value: true, date: new Date() } },
29
+ };
30
+ const order = {
31
+ status: { fullyPicked: true },
32
+ items: [
33
+ orderItem,
34
+ orderItem,
35
+ orderItem,
36
+ orderItem,
37
+ orderItem,
38
+ orderItem,
39
+ orderItem,
40
+ orderItem,
41
+ orderItem,
42
+ orderItem,
43
+ ],
44
+ };
45
+ const newOrder = pricingService.order.unpickOrder(order);
46
+ expect(newOrder.status.fullyPicked).toBe(false);
47
+ newOrder.items.map(item =>
48
+ expect(item.status.picked).toStrictEqual({ value: false, date: '' })
49
+ );
50
+ });
51
+ test('unpick items in parent order with items that are not picked', () => {
52
+ const orderItem = {
53
+ price: 30,
54
+ quantity: 2,
55
+ status: { picked: { value: true, date: new Date() } },
56
+ };
57
+ const orderItemNotPicked = {
58
+ price: 30,
59
+ quantity: 2,
60
+ status: { picked: { value: false, date: '' } },
61
+ };
62
+ const order = {
63
+ items: [orderItem, orderItemNotPicked],
64
+ status: { fullyPicked: true },
65
+ };
66
+ const newOrder = pricingService.order.unpickOrder(order);
67
+ expect(newOrder.status.fullyPicked).toBe(false);
68
+ newOrder.items.map(item =>
69
+ expect(item.status.picked).toStrictEqual({ value: false, date: '' })
70
+ );
71
+ });
72
+
73
+ test('unpick items in parent order with items and suborder with items picked', () => {
74
+ const orderItem = {
75
+ price: 30,
76
+ quantity: 2,
77
+ status: { picked: { value: true, date: new Date() } },
78
+ };
79
+
80
+ const subOrder = { items: [orderItem], status: { fullyPicked: true } };
81
+ const order = {
82
+ items: [orderItem],
83
+ orders: [subOrder],
84
+ status: { fullyPicked: true },
85
+ };
86
+ const newOrder = pricingService.order.unpickOrder(order);
87
+ newOrder.items.map(item =>
88
+ expect(item.status.picked).toStrictEqual({ value: false, date: '' })
89
+ );
90
+ newOrder.orders.map(_order => {
91
+ expect(_order.status.fullyPicked).toBe(false);
92
+ return _order.items.map(item =>
93
+ expect(item.status.picked).toStrictEqual({ value: false, date: '' })
94
+ );
95
+ });
96
+ });
97
+ });
@@ -3,7 +3,7 @@ module.exports = ({ modifierActions }) =>
3
3
  if (!item || !Array.isArray(item.modifiers)) return [];
4
4
  return item.modifiers.filter(
5
5
  modifier =>
6
- modifierActions.isGroupOfModifiers(modifier) &&
6
+ modifierActions.isGroup(modifier) &&
7
7
  modifierActions.isRequired(modifier) &&
8
8
  modifierActions.enableAutoPopup(modifier)
9
9
  );
@@ -0,0 +1,14 @@
1
+ module.exports = ({ modifierActions }) =>
2
+ function getRelatedModifiers({ item }) {
3
+ if (!item || !Array.isArray(item.modifiers)) return [];
4
+
5
+ const relatedModifiers = [];
6
+
7
+ item.modifiers.forEach(itemMod => {
8
+ if (modifierActions.isRelatedModifier(itemMod)) {
9
+ relatedModifiers.push(itemMod);
10
+ }
11
+ });
12
+
13
+ return relatedModifiers;
14
+ };
@@ -2,15 +2,6 @@ module.exports = ({ modifierActions }) =>
2
2
  function hasModifier({ item, modifier, relatedItems }) {
3
3
  if (!item || !modifier || !item.modifiers) return false;
4
4
 
5
- const isGroupPath = groupPath =>
6
- groupPath &&
7
- (groupPath.includes(modifier.modifierId) ||
8
- groupPath.includes(modifier._id));
9
-
10
- const isSpreadFrom = spreadFromId =>
11
- spreadFromId &&
12
- (spreadFromId === modifier.modifierId || spreadFromId === modifier._id);
13
-
14
5
  if (modifierActions.isGroup(modifier)) {
15
6
  const matchByRelatedModifier = item.modifiers.some(itemMod => {
16
7
  if (
@@ -20,8 +11,14 @@ module.exports = ({ modifierActions }) =>
20
11
  )
21
12
  return false;
22
13
  return (
23
- isGroupPath(itemMod.properties.groupPath) ||
24
- isSpreadFrom(itemMod.properties.spreadFrom)
14
+ modifierActions.isGroupPath({
15
+ groupPath: itemMod.properties.groupPath,
16
+ modifier,
17
+ }) ||
18
+ modifierActions.isSpreadFrom({
19
+ spreadFromId: itemMod.properties.spreadFrom,
20
+ modifier,
21
+ })
25
22
  );
26
23
  });
27
24
 
@@ -29,9 +26,11 @@ module.exports = ({ modifierActions }) =>
29
26
  !!relatedItems &&
30
27
  modifierActions.isGroup(modifier) &&
31
28
  relatedItems.some(relatedItem =>
32
- isGroupPath(
33
- relatedItem.properties && relatedItem.properties.groupPath
34
- )
29
+ modifierActions.isGroupPath({
30
+ groupPath:
31
+ relatedItem.properties && relatedItem.properties.groupPath,
32
+ modifier,
33
+ })
35
34
  );
36
35
 
37
36
  return matchByRelatedModifier || matchByRelatedItems;
package/lib/item/index.js CHANGED
@@ -50,6 +50,8 @@ const getLastLocation = require('./getLastLocation');
50
50
  const hasAddModifiers = require('./hasAddModifiers');
51
51
  const getAddModifiers = require('./getAddModifiers');
52
52
  const getRelatedItems = require('./getRelatedItems');
53
+ const getRelatedModifiers = require('./getRelatedModifiers');
54
+ const unpickItem = require('./unpick');
53
55
 
54
56
  const itemActions = (deps = {}) => {
55
57
  const actions = {};
@@ -113,6 +115,8 @@ const itemActions = (deps = {}) => {
113
115
  hasAddModifiers: hasAddModifiers(innerDeps),
114
116
  getAddModifiers: getAddModifiers(innerDeps),
115
117
  getRelatedItems: getRelatedItems(innerDeps),
118
+ getRelatedModifiers: getRelatedModifiers(innerDeps),
119
+ unpickItem: unpickItem(innerDeps),
116
120
  });
117
121
 
118
122
  Object.keys(freezedActions).forEach(actionName => {
@@ -15,7 +15,7 @@ module.exports = ({ modifierActions, _, actions }) => {
15
15
 
16
16
  if (!isValid(itemModifiers, modifier)) return item;
17
17
 
18
- const addModifiers = modifierActions.getRelatedModifiers({
18
+ const addModifiers = modifierActions.getAddModifiers({
19
19
  modifier,
20
20
  });
21
21
 
@@ -0,0 +1,15 @@
1
+ module.exports = () =>
2
+ function unpickItem(item) {
3
+ if (!item) return item;
4
+ const nextItem = { ...item };
5
+ if (nextItem.status) {
6
+ nextItem.status = {
7
+ ...nextItem.status,
8
+ picked: {
9
+ value: false,
10
+ date: '',
11
+ },
12
+ };
13
+ }
14
+ return nextItem;
15
+ };
@@ -0,0 +1,6 @@
1
+ module.exports = () =>
2
+ function getAddModifiers({ modifier }) {
3
+ if (!modifier || !modifier.addModifiers) return [];
4
+
5
+ return modifier.addModifiers;
6
+ };
@@ -11,7 +11,7 @@ module.exports = ({ actions }) =>
11
11
 
12
12
  const relatedModifiers = enabledModifiers
13
13
  .map(each =>
14
- actions.getRelatedModifiers({
14
+ actions.getAddModifiers({
15
15
  modifier: each,
16
16
  })
17
17
  )
@@ -1,8 +1,28 @@
1
- module.exports = () =>
2
- function getRelatedModifiers({ modifier }) {
3
- if (!modifier || !modifier.addModifiers) return [];
1
+ module.exports = ({ actions }) =>
2
+ function getRelatedModifiers({ groupModifier, modifiers }) {
3
+ if (!actions.isGroup(groupModifier) || !Array.isArray(modifiers)) return [];
4
4
 
5
- const relatedModifiers = modifier.addModifiers;
5
+ const relatedModifiers = [];
6
+
7
+ const otherModifiers = modifiers.filter(
8
+ mod =>
9
+ !actions.isGroup(mod) && mod._id !== groupModifier._id && mod.properties
10
+ );
11
+
12
+ otherModifiers.forEach(mod => {
13
+ if (
14
+ actions.isGroupPath({
15
+ groupPath: mod.properties.groupPath,
16
+ modifier: groupModifier,
17
+ }) ||
18
+ actions.isSpreadFrom({
19
+ spreadFromId: mod.properties.spreadFrom,
20
+ modifier: groupModifier,
21
+ })
22
+ ) {
23
+ relatedModifiers.push(mod);
24
+ }
25
+ });
6
26
 
7
27
  return relatedModifiers;
8
28
  };
@@ -43,7 +43,7 @@ const getPreferences = require('./getPreferences');
43
43
  const getPromotionModifiers = require('./getPromotionModifiers');
44
44
  const getPromptMessage = require('./getPromptMessage');
45
45
  const getProperty = require('./getProperty');
46
- const getRelatedModifiers = require('./getRelatedModifiers');
46
+ const getAddModifiers = require('./getAddModifiers');
47
47
  const getRecommendedModifiers = require('./getRecommendedModifiers');
48
48
  const getRequiredModifiers = require('./getRequiredModifiers');
49
49
  const getSubscriptionItem = require('./getSubscriptionItem');
@@ -114,7 +114,7 @@ const isFixedDiscount = require('./isFixedDiscount');
114
114
  const removeLocked = require('./removeLocked');
115
115
  const hasItems = require('./hasItems');
116
116
  const removeGroupData = require('./removeGroupData');
117
- const isRelatedModifier = require('./isRelatedModifier');
117
+ const isRelatedModifierById = require('./isRelatedModifierById');
118
118
  const getGroupedModifiers = require('./getGroupedModifiers');
119
119
  const isOptionsOverride = require('./isOptionsOverride');
120
120
  const getGroupedModifierLabels = require('./getGroupedModifierLabels');
@@ -146,6 +146,10 @@ const removeGroupRelations = require('./removeGroupRelations');
146
146
  const getManualModifiers = require('./getManualModifiers');
147
147
  const shouldSpreadModifier = require('./shouldSpreadModifier');
148
148
  const spreadSingleGroupModifiers = require('./spreadSingleGroupModifiers');
149
+ const isGroupPath = require('./isGroupPath');
150
+ const isSpreadFrom = require('./isSpreadFrom');
151
+ const getRelatedModifiers = require('./getRelatedModifiers');
152
+ const isRelatedModifier = require('./isRelatedModifier');
149
153
 
150
154
  const modifierActions = (deps = {}) => {
151
155
  const actions = {};
@@ -201,7 +205,7 @@ const modifierActions = (deps = {}) => {
201
205
  getPromotionModifiers: getPromotionModifiers(innerDeps),
202
206
  getPromptMessage: getPromptMessage(innerDeps),
203
207
  getProperty: getProperty(innerDeps),
204
- getRelatedModifiers: getRelatedModifiers(innerDeps),
208
+ getAddModifiers: getAddModifiers(innerDeps),
205
209
  getRecommendedModifiers: getRecommendedModifiers(innerDeps),
206
210
  getRequiredModifiers: getRequiredModifiers(innerDeps),
207
211
  getSubscriptionItem: getSubscriptionItem(innerDeps),
@@ -271,7 +275,7 @@ const modifierActions = (deps = {}) => {
271
275
  isAdd: isAdd(innerDeps),
272
276
  mutateModifier: mutateModifier(innerDeps),
273
277
  removeGroupData: removeGroupData(innerDeps),
274
- isRelatedModifier: isRelatedModifier(innerDeps),
278
+ isRelatedModifierById: isRelatedModifierById(innerDeps),
275
279
  getGroupedModifiers: getGroupedModifiers(innerDeps),
276
280
  isOptionsOverride: isOptionsOverride(innerDeps),
277
281
  getGroupedModifierLabels: getGroupedModifierLabels(innerDeps),
@@ -305,6 +309,10 @@ const modifierActions = (deps = {}) => {
305
309
  getManualModifiers: getManualModifiers(innerDeps),
306
310
  shouldSpreadModifier: shouldSpreadModifier(innerDeps),
307
311
  spreadSingleGroupModifiers: spreadSingleGroupModifiers(innerDeps),
312
+ isGroupPath: isGroupPath(innerDeps),
313
+ isSpreadFrom: isSpreadFrom(innerDeps),
314
+ getRelatedModifiers: getRelatedModifiers(innerDeps),
315
+ isRelatedModifier: isRelatedModifier(innerDeps),
308
316
  });
309
317
 
310
318
  Object.keys(freezedActions).forEach(actionName => {
@@ -0,0 +1,8 @@
1
+ module.exports = () =>
2
+ function isGroupPath({ groupPath, modifier }) {
3
+ return (
4
+ groupPath &&
5
+ (groupPath.includes(modifier.modifierId) ||
6
+ groupPath.includes(modifier._id))
7
+ );
8
+ };
@@ -1,13 +1,5 @@
1
- module.exports = ({ actions }) =>
2
- function isRelatedModifier({ _id, modifier }) {
3
- if (!modifier || !_id) return false;
4
-
5
- if (actions.isGroupOfModifiers(modifier)) {
6
- const relatedModifiers = modifier.properties.group.modifiers;
7
- return [actions.removeGroupData({ modifier }), ...relatedModifiers].some(
8
- relatedModifier => isRelatedModifier({ _id, modifier: relatedModifier })
9
- );
10
- }
11
-
12
- return modifier._id === _id || modifier.modifierId === _id;
1
+ module.exports = () =>
2
+ function isRelatedModifier(modifier) {
3
+ if (!modifier || !modifier.properties) return false;
4
+ return !!modifier.properties.groupPath || modifier.properties.spreadFrom;
13
5
  };
@@ -0,0 +1,14 @@
1
+ module.exports = ({ actions }) =>
2
+ function isRelatedModifierById({ _id, modifier }) {
3
+ if (!modifier || !_id) return false;
4
+
5
+ if (actions.isGroupOfModifiers(modifier)) {
6
+ const relatedModifiers = modifier.properties.group.modifiers;
7
+ return [actions.removeGroupData({ modifier }), ...relatedModifiers].some(
8
+ relatedModifier =>
9
+ isRelatedModifierById({ _id, modifier: relatedModifier })
10
+ );
11
+ }
12
+
13
+ return modifier._id === _id || modifier.modifierId === _id;
14
+ };
@@ -0,0 +1,7 @@
1
+ module.exports = () =>
2
+ function isSpreadFrom({ spreadFromId, modifier }) {
3
+ return (
4
+ spreadFromId &&
5
+ (spreadFromId === modifier.modifierId || spreadFromId === modifier._id)
6
+ );
7
+ };
@@ -249,7 +249,7 @@ module.exports = ({ actions, itemActions, modifierActions, utils, _ }) => {
249
249
  // Recursive Rules:
250
250
  if (modifierActions.hasAddModifiers(modifier)) {
251
251
  const relatedModifiers = modifierActions
252
- .getRelatedModifiers({ modifier })
252
+ .getAddModifiers({ modifier })
253
253
  .filter(each => !modifierActions.contains(item.modifiers, each));
254
254
 
255
255
  item = relatedModifiers.reduce(
@@ -38,6 +38,7 @@ const toggleModifier = require('./toggleModifier');
38
38
  const voidOrder = require('./void');
39
39
  const holdOrder = require('./hold');
40
40
  const openOrder = require('./open');
41
+ const unpickOrder = require('./unpick');
41
42
  const isDetailed = require('./isDetailed');
42
43
  const splitByDepartments = require('./splitByDepartments');
43
44
  const autoSplit = require('./autoSplit');
@@ -138,6 +139,7 @@ const orderActions = (deps = {}) => {
138
139
  voidOrder: voidOrder(innerDeps),
139
140
  holdOrder: holdOrder(innerDeps),
140
141
  openOrder: openOrder(innerDeps),
142
+ unpickOrder: unpickOrder(innerDeps),
141
143
  isDetailed: isDetailed(innerDeps),
142
144
  splitByDepartments: splitByDepartments(innerDeps),
143
145
  autoSplit: autoSplit(innerDeps),
@@ -0,0 +1,28 @@
1
+ module.exports = ({ itemActions }) =>
2
+ function unpickOrder(order) {
3
+ if (!order) return order;
4
+ const nextOrder = { ...order };
5
+ if (order.items.length > 0) {
6
+ const orderItems = [...(order.items || [])].map(item =>
7
+ itemActions.unpickItem(item)
8
+ );
9
+ if (nextOrder.status && nextOrder.status.fullyPicked) {
10
+ nextOrder.status.fullyPicked = false;
11
+ }
12
+ nextOrder.items = orderItems;
13
+ }
14
+ if (order.orders && order.orders.length > 0) {
15
+ const suborderWithItems = order.orders.map(_order => {
16
+ const nextsubOrder = {
17
+ ..._order,
18
+ items: _order.items.map(item => itemActions.unpickItem(item)),
19
+ };
20
+ if (nextsubOrder.status && nextsubOrder.status.fullyPicked) {
21
+ nextsubOrder.status.fullyPicked = false;
22
+ }
23
+ return nextsubOrder;
24
+ });
25
+ nextOrder.orders = suborderWithItems;
26
+ }
27
+ return nextOrder;
28
+ };
@@ -1,13 +1,22 @@
1
1
  module.exports = ({ actions, settings }) =>
2
2
  function getRecommendedEndDate() {
3
- const defaultSchedule =
3
+ const readySchedule =
4
4
  settings.order &&
5
5
  settings.order.endDate &&
6
- settings.order.endDate.default;
6
+ settings.order.endDate.readySchedule;
7
7
 
8
- return defaultSchedule
9
- ? actions.pickEndDate({
10
- ...defaultSchedule,
11
- })
12
- : null;
8
+ if (readySchedule) {
9
+ const dayOfWeek = new Date().getDay();
10
+ const day = dayOfWeek || 7;
11
+ const schedule = settings.order.endDate.readySchedule.find(item =>
12
+ item.dayOfWeek.includes(day)
13
+ );
14
+ return schedule
15
+ ? actions.pickEndDate({
16
+ ...schedule,
17
+ })
18
+ : null;
19
+ }
20
+
21
+ return null;
13
22
  };
@@ -13,8 +13,7 @@ module.exports = ({ settings, _, moment }) => {
13
13
  return function pickEndDate(schedule = {}) {
14
14
  const {
15
15
  addDays: addDaysParam,
16
- hour,
17
- minute,
16
+ readyHour,
18
17
  skipDays = [],
19
18
  cutHour,
20
19
  cutDay = 0,
@@ -33,13 +32,16 @@ module.exports = ({ settings, _, moment }) => {
33
32
 
34
33
  if (
35
34
  (cutHour && todayHours > cutHour.hour) ||
36
- (todayHours >= cutHour.hour && todayMinutes > cutHour.minute)
35
+ (cutHour && todayHours >= cutHour.hour && todayMinutes > cutHour.minute)
37
36
  ) {
38
37
  endDateTZ = endDateTZ.add(cutDay, 'days');
39
38
  }
40
39
 
41
- if (hour !== undefined) endDateTZ.set('hour', hour);
42
- if (minute !== undefined) endDateTZ.set('minute', minute);
40
+ if (readyHour && readyHour.hour !== undefined)
41
+ endDateTZ.set('hour', readyHour.hour);
42
+ if (readyHour && readyHour.minute !== undefined)
43
+ endDateTZ.set('minute', readyHour.minute);
44
+
43
45
  endDateTZ.set('second', 0);
44
46
 
45
47
  const isSkipDay = endDateIsoWeekDay => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@darkpos/pricing",
3
- "version": "1.0.75",
3
+ "version": "1.0.77",
4
4
  "description": "Pricing calculator",
5
5
  "author": "Dark POS",
6
6
  "license": "ISC",
@@ -51,5 +51,5 @@
51
51
  "supertest": "^6.2.3",
52
52
  "supervisor": "^0.12.0"
53
53
  },
54
- "gitHead": "b0331c1d450926e0feb4f79146c6dd4f81e5af61"
54
+ "gitHead": "5ef669119ac8baec449e3c0aee06151d0cd4ad63"
55
55
  }