@darkpos/pricing 1.0.76 → 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.
|
@@ -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,
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
module.exports = ({ actions, settings }) =>
|
|
2
2
|
function getRecommendedEndDate() {
|
|
3
|
-
const
|
|
3
|
+
const readySchedule =
|
|
4
4
|
settings.order &&
|
|
5
5
|
settings.order.endDate &&
|
|
6
|
-
settings.order.endDate.
|
|
6
|
+
settings.order.endDate.readySchedule;
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
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
|
};
|
package/lib/store/pickEndDate.js
CHANGED
|
@@ -13,8 +13,7 @@ module.exports = ({ settings, _, moment }) => {
|
|
|
13
13
|
return function pickEndDate(schedule = {}) {
|
|
14
14
|
const {
|
|
15
15
|
addDays: addDaysParam,
|
|
16
|
-
|
|
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)
|
|
42
|
-
|
|
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.
|
|
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": "
|
|
54
|
+
"gitHead": "5ef669119ac8baec449e3c0aee06151d0cd4ad63"
|
|
55
55
|
}
|