fleetmap-reports 1.0.393 → 1.0.400

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/src/index.test.js CHANGED
@@ -1,330 +1,344 @@
1
- const {getReports} = require("./tests");
2
- const assert = require("assert");
3
-
4
- describe('Test_Reports', function() {
5
- it('Speeding by device', async () => {
6
- const report = await getReports()
7
- const userData = await report.getUserData()
8
-
9
- const data = await report.speedingReport(new Date(2021, 11, 6, 0, 0, 0, 0),
10
- new Date(2021, 11, 8, 23, 59, 59, 0),
11
- userData)
12
- assert.equal(data.length, 1)
13
- const device = data[0].devices.find(d => d.device.id===22326)
14
- const totalDistance = device.alerts.reduce((a, b) => a + b.distance, 0)
15
- const totalEventTime = device.alerts.reduce((a, b) => a + b.eventTime, 0)
16
- assert.equal(device.alerts.length, 15) // Total Alerts
17
- assert.equal(totalDistance, 19.605972526552154) // Total Kms
18
- assert.equal(totalEventTime, 562000) // Total Duration
19
- }, 20000)
20
- it('Speeding by device with custom speed', async () => {
21
- const report = await getReports()
22
- const userData = await report.getUserData()
23
-
24
- userData.useVehicleSpeedLimit = false
25
- userData.customSpeed = 100
26
-
27
- const data = await report.speedingReport(new Date(2021, 11, 6, 0, 0, 0, 0),
28
- new Date(2021, 11, 8, 23, 59, 59, 0),
29
- userData)
30
- assert.equal(data.length, 1)
31
- const device = data[0].devices.find(d => d.device.id===22326)
32
- const totalDistance = device.alerts.reduce((a, b) => a + b.distance, 0)
33
- const totalEventTime = device.alerts.reduce((a, b) => a + b.eventTime, 0)
34
- assert.equal(device.alerts.length, 24) // Total Alerts
35
- assert.equal(totalDistance, 49.49653008204987) // Total Kms
36
- assert.equal(totalEventTime, 1523000) // Total Duration
37
- }, 20000)
38
- it('Trip by device', async () => {
39
- const report = await getReports()
40
- const userData = await report.getUserData()
41
-
42
- const data = await report.tripReport(new Date(2022, 0, 3, 0, 0, 0, 0),
43
- new Date(2022, 0, 4, 23, 59, 59, 0),
44
- userData)
45
-
46
- assert.equal(data.length, 1)
47
- const device = data[0].devices.find(d => d.device.id===22326)
48
- assert.equal(device.trips.length, 7) // Total Trips
49
- assert.equal(device.totalDistance, 339204.53999999166) // Total Kms
50
- }, 20000)
51
- it('Trip 2 by device', async () => {
52
- const report = await getReports()
53
- const userData = await report.getUserData()
54
- userData.devices = userData.devices.filter(d => d.id === 11437)
55
-
56
- const data = await report.tripReport(new Date(2022, 2, 4, 0, 0, 0, 0),
57
- new Date(2022, 2, 4, 23, 59, 59, 0),
58
- userData)
59
-
60
- assert.equal(data.length, 1)
61
- const device = data[0].devices.find(d => d.device.id===11437)
62
- assert.equal(device.trips.length, 5) // Total Trips
63
- assert.equal(device.totalDistance, 207353.2299999997) // Total Kms
64
- }, 20000)
65
- it('Trip by device with time period ', async () => {
66
- const report = await getReports()
67
- const userData = await report.getUserData()
68
-
69
- userData.allWeek = false
70
- userData.weekDays = {
71
- sunday: true,
72
- monday: true,
73
- tuesday: true,
74
- wednesday: true,
75
- thursday: true,
76
- friday: true,
77
- saturday: true
78
- }
79
- userData.dayHours = {
80
- startTime: '15:00',
81
- endTime: '19:00'
82
- }
83
-
84
- const data = await report.tripReport(new Date(2022, 0, 3, 0, 0, 0, 0),
85
- new Date(2022, 0, 4, 23, 59, 59, 0),
86
- userData)
87
-
88
- assert.equal(data.length, 1)
89
- const device = data[0].devices.find(d => d.device.id===22326)
90
- assert.equal(device.trips.length, 4) // Total Trips
91
- assert.equal(device.totalDistance, 265155.1099999994) // Total Kms
92
- },20000)
93
- it('Trip by device with time period 2', async () => {
94
- const report = await getReports()
95
- const userData = await report.getUserData()
96
-
97
- userData.allWeek = false
98
- userData.weekDays = {
99
- sunday: true,
100
- monday: true,
101
- tuesday: true,
102
- wednesday: true,
103
- thursday: true,
104
- friday: true,
105
- saturday: true
106
- }
107
- userData.dayHours = {
108
- startTime: '18:00',
109
- endTime: '09:00'
110
- }
111
-
112
- const data = await report.tripReport(new Date(2022, 0, 10, 0, 0, 0, 0),
113
- new Date(2022, 0, 14, 23, 59, 59, 0),
114
- userData)
115
-
116
- assert.equal(data.length, 1)
117
- const device = data[0].devices.find(d => d.device.id===22326)
118
- assert.equal(device.trips.length, 18) // Total Trips
119
- assert.equal(device.totalDistance, 133505.6100000143) // Total Kms
120
- },20000)
121
- it('Location by device', async () => {
122
- const report = await getReports()
123
- const userData = await report.getUserData()
124
-
125
- const data = await report.locationReport(new Date(2022, 0, 4, 0, 0, 0, 0),
126
- new Date(2022, 0, 4, 23, 59, 59, 0),
127
- userData)
128
-
129
- assert.equal(data.length, 1)
130
- const device = data[0].devices.find(d => d.device.id===22326)
131
- assert.equal(device.positions.length, 708) // Total Positions
132
- },20000)
133
- it('Location by driver', async () => {
134
- const report = await getReports()
135
- const userData = await report.getUserData()
136
- userData.byDriver=true
137
- const data = await report.locationReport(new Date(2021, 11, 6, 0, 0, 0, 0),
138
- new Date(2021, 11, 9, 23, 59, 59, 0),
139
- userData)
140
-
141
- assert.equal(data.length, 1)
142
- const driver = data[0].drivers.find(d => d.driver.id===14020)
143
- assert.equal(driver.positions.length, 85) // Total Positions
144
- },20000)
145
- it('KmsReport by device', async () => {
146
- const reports = await getReports()
147
- const userData = await reports.getUserData()
148
- userData.devices = userData.devices.filter(d => d.id === 22326)
149
- const data = await reports.kmsReport(new Date(2021, 10, 1, 0, 0,0), new Date(2021, 10, 31, 23, 59, 59),
150
- userData)
151
- assert.equal(data.length, 1)
152
- assert.equal(data.length, 1)
153
- const device = data[0].devices.find(d => d.device.id===22326)
154
- assert.equal(device.summary.distance, 1193284.3100000024) // Total Kms
155
- },30000)
156
- it('KmsReport by device', async () => {
157
- const reports = await getReports()
158
- const userData = await reports.getUserData()
159
- userData.devices = userData.devices.filter(d => d.id === 22326)
160
- const data = await reports.kmsReport(new Date(2021, 10, 1, 0, 0,0), new Date(2021, 10, 31, 23, 59, 59),
161
- userData)
162
- assert.equal(data.length, 1)
163
- assert.equal(data.length, 1)
164
- const device = data[0].devices.find(d => d.device.id===22326)
165
- assert.equal(device.summary.distance, 1193284.3100000024) // Total Kms
166
- },30000)
167
- it('KmsReport byDevice groupByDay', async () => {
168
- const reports = await getReports()
169
- const userData = await reports.getUserData()
170
- userData.devices = userData.devices.filter(d => d.id === 22326)
171
- userData.groupByDay = true
172
- const data = await reports.kmsReport(new Date(2021, 10, 1, 0, 0,0), new Date(2021, 10, 10, 23, 59, 59),
173
- userData)
174
- assert.equal(data.length, 1)
175
- assert.equal(data.length, 1)
176
- const device = data[0].devices.find(d => d.device.id===22326)
177
- assert.equal(device.days.length, 10) // Total Kms
178
- assert.equal(device.days[5].kms, 23183.010000005364) // Total Kms
179
- },30000)
180
- it('Idle by device', async () => {
181
- const report = await getReports()
182
- const userData = await report.getUserData()
183
- userData.minimumIdleMinutes = 2
184
- const data = await report.idleReport(new Date(2022, 0, 3, 0, 0, 0, 0),
185
- new Date(2022, 0, 7, 23, 59, 59, 0),
186
- userData)
187
- assert.equal(data.length, 1)
188
- const device = data[0].devices.find(d => d.device.id===22326)
189
- const totalIdleTime = device.idleEvents.reduce((a, b) => a + b.idleTime, 0)
190
- assert.equal(device.idleEvents.length, 8) // Total Alerts
191
- assert.equal(totalIdleTime, 1294000) // Total Duration
192
- },20000)
193
- it('Activity by device', async () => {
194
- const report = await getReports()
195
- const userData = await report.getUserData()
196
-
197
- const data = await report.activityReport(new Date(2022, 0, 1, 0, 0, 0, 0),
198
- new Date(2022, 0, 31, 23, 59, 59, 0),
199
- userData)
200
- assert.equal(data.length, 1)
201
- const device = data[0].devices.find(d => d.device.id===22326)
202
- assert.equal(device.summary[0].startOdometer, 122502742.59)
203
- assert.equal(device.summary[0].distance, 1423529.600000009)
204
- assert.equal(device.summary[0].startTime, '2022-01-01T13:35:47.000+0000')
205
- assert.equal(device.summary[0].endTime, '2022-01-31T17:36:27.000+0000')
206
- }, 40000)
207
- it('Activity 2 by device', async () => {
208
- const report = await getReports()
209
- const userData = await report.getUserData()
210
- userData.devices = userData.devices.filter(d => d.id === 11437)
211
- const data = await report.activityReport(new Date(2022, 2, 5, 0, 0, 0, 0),
212
- new Date(2022, 2, 5, 23, 59, 59, 0),
213
- userData)
214
- assert.equal(data.length, 1)
215
- const device = data[0].devices.find(d => d.device.id===11437)
216
- assert.equal(device.summary[0].endTime, '2022-03-05T23:59:55.000+0000')
217
- assert.equal(device.summary[0].distance, 232925.12000000034)
218
- }, 40000)
219
- it('Activity byDevice groupByDay', async () => {
220
- const report = await getReports()
221
- const userData = await report.getUserData()
222
- userData.groupByDay = true
223
- const data = await report.activityReport(new Date(2022, 0, 1, 0, 0, 0, 0),
224
- new Date(2022, 0, 20, 23, 59, 59, 0),
225
- userData)
226
- assert.equal(data.length, 1)
227
- const device = data[0].devices.find(d => d.device.id===22326)
228
- assert.equal(device.summary[5].startOdometer, 122923290.95)
229
- assert.equal(device.summary[5].distance, 77020.37999999523)
230
- assert.equal(device.summary[5].startTime, '2022-01-06T18:35:04.000+0000')
231
- assert.equal(device.summary[5].endTime, '2022-01-06T19:54:27.000+0000')
232
- }, 90000)
233
- it('test allinone', async() => {
234
- console.log('Start')
235
- const reports = await getReports()
236
- const userData = await reports.getUserData()
237
- const r = await require('./util/traccar').getAllInOne(reports.traccar,
238
- new Date(2022, 1, 1, 0, 0, 0, 0),
239
- new Date(2022, 1, 4, 23, 59, 59, 0),
240
- userData.devices,
241
- false,
242
- true,
243
- true,
244
- false)
245
-
246
- assert.equal(r.trips.filter(t => t.deviceId === 22327).length, 20)
247
- assert.equal(r.stops.filter(t => t.deviceId === 22327).length, 21)
248
- }, 20000)
249
- it('Total KMS', async () => {
250
- const report = await getReports()
251
- const userData = await report.getUserData()
252
-
253
- const tripsReport = await report.tripReport(new Date(2022, 1, 11, 0, 0, 0, 0),
254
- new Date(2022, 1, 14, 23, 59, 59, 0),
255
- userData)
256
-
257
- const kmsReport = await report.kmsReport(new Date(2022, 1, 11, 0, 0, 0, 0),
258
- new Date(2022, 1, 14, 23, 59, 59, 0),
259
- userData)
260
-
261
- assert.equal(tripsReport.length, 1)
262
- const device1 = tripsReport[0].devices.find(d => d.device.id===11681)
263
- assert.equal(device1.trips.length, 44) // Total Trips
264
- assert.equal(device1.totalDistance, 883076.9928612101) // Total Kms
265
-
266
- const device2 = kmsReport[0].devices.find(d => d.device.id===11681)
267
- assert.equal(device2.summary.distance, device1.totalDistance) // Total Kms
268
- }, 30000)
269
- it('Refueling Report', async () => {
270
- const report = await getReports()
271
- const userData = await report.getUserData()
272
-
273
- const data = await report.refuelingReport(new Date(2022, 1, 2, 0, 0, 0, 0),
274
- new Date(2022, 1, 2, 23, 59, 59, 0),
275
- userData)
276
-
277
- assert.equal(data.length, 1)
278
- console.log(data[0])
279
- const device = data[0].devices.find(d => d.device.id===16245)
280
- assert.equal(device.refuelings.length, 2)
281
-
282
- }, 30000)
283
- it('Refueling2 Report', async () => {
284
- const report = await getReports()
285
- const userData = await report.getUserData()
286
-
287
- const data = await report.refuelingReport(new Date(2022, 1, 21, 0, 0, 0, 0),
288
- new Date(2022, 1, 25, 23, 59, 59, 0),
289
- userData)
290
-
291
- assert.equal(data.length, 1)
292
- console.log(data[0])
293
- const device = data[0].devices.find(d => d.device.id===16245)
294
- console.log(device.refuelings)
295
- assert.equal(device.refuelings.length, 4)
296
-
297
- }, 30000)
298
- it('FuelConsumption Report', async () => {
299
- const report = await getReports()
300
- const userData = await report.getUserData()
301
- userData.devices = userData.devices.filter(d => d.id === 22326)
302
- const data = await report.fuelConsumptionReport(new Date(2022, 0, 1, 0, 0, 0, 0),
303
- new Date(2022, 0, 10, 23, 59, 59, 0),
304
- userData)
305
-
306
- assert.equal(data.length, 1)
307
- const device = data[0].devices.find(d => d.device.id===22326)
308
- console.log(device.days)
309
- assert.equal(device.days.length, 8)
310
- assert.equal(device.days[0].spentFuel, 2)
311
-
312
- }, 30000)
313
- it('FuelConsumption Odoo Report', async () => {
314
- const report = await getReports()
315
- const userData = await report.getUserData()
316
- userData.withOdooServices = true
317
- userData.devices = userData.devices.filter(d => d.id === 25508)
318
- const data = await report.fuelConsumptionReport(new Date(2022, 1, 1, 0, 0, 0, 0),
319
- new Date(2022, 1, 28, 23, 59, 59, 0),
320
- userData)
321
-
322
- assert.equal(data.length, 1)
323
- const device = data[0].devices.find(d => d.device.id===25508)
324
- assert.equal(device.days.length, 25)
325
-
326
- }, 30000)
327
- /* it('Zone Report', async () => {
1
+ const { getReports } = require('./tests')
2
+ const assert = require('assert')
3
+
4
+ async function getSpeedingReport (report, userData) {
5
+ const data = await report.speedingReport(
6
+ new Date(Date.UTC(2021, 11, 6, 0, 0, 0, 0)),
7
+ new Date(Date.UTC(2021, 11, 8, 23, 59, 59, 0)),
8
+ userData)
9
+ assert.equal(data.length, 1)
10
+ const device = data[0].devices.find(d => d.device.id === 22326)
11
+ const totalDistance = device.alerts.reduce((a, b) => a + b.distance, 0)
12
+ const totalEventTime = device.alerts.reduce((a, b) => a + b.eventTime, 0)
13
+ return { device, totalDistance, totalEventTime }
14
+ }
15
+
16
+ // eslint-disable-next-line no-undef
17
+ describe('Test_Reports', function () {
18
+ // eslint-disable-next-line no-undef
19
+ it('Speeding by device', async () => {
20
+ const report = await getReports()
21
+ const userData = await report.getUserData()
22
+ const { device, totalDistance, totalEventTime } = await getSpeedingReport(report, userData)
23
+ assert.equal(device.alerts.length, 15) // Total Alerts
24
+ assert.equal(totalDistance, 19.59984677533689) // Total Kms
25
+ assert.equal(totalEventTime, 562000) // Total Duration
26
+ }, 200000)
27
+ // eslint-disable-next-line no-undef
28
+ it('Speeding by device with custom speed', async () => {
29
+ const report = await getReports()
30
+ const userData = await report.getUserData()
31
+
32
+ userData.useVehicleSpeedLimit = false
33
+ userData.customSpeed = 100
34
+ const { device, totalDistance, totalEventTime } = await getSpeedingReport(report, userData)
35
+ assert.equal(device.alerts.length, 24) // Total Alerts
36
+ assert.equal(totalDistance, 49.481065231791064) // Total Kms
37
+ assert.equal(totalEventTime, 1523000) // Total Duration
38
+ }, 20000)
39
+ // eslint-disable-next-line no-undef
40
+ it('Trip by device', async () => {
41
+ const report = await getReports()
42
+ const userData = await report.getUserData()
43
+
44
+ const data = await report.tripReport(new Date(2022, 0, 3, 0, 0, 0, 0),
45
+ new Date(2022, 0, 4, 23, 59, 59, 0),
46
+ userData)
47
+
48
+ assert.equal(data.length, 1)
49
+ const device = data[0].devices.find(d => d.device.id === 22326)
50
+ assert.equal(device.trips.length, 7) // Total Trips
51
+ assert.equal(device.trips[0].endPOIName, 'Casa João')
52
+ assert.equal(device.trips[1].endPOIName, undefined)
53
+ assert.equal(device.totalDistance, 339204.53999999166) // Total Kms
54
+ }, 20000)
55
+ // eslint-disable-next-line no-undef
56
+ it('Trip 2 by device', async () => {
57
+ const report = await getReports()
58
+ const userData = await report.getUserData()
59
+ userData.devices = userData.devices.filter(d => d.id === 11437)
60
+
61
+ const data = await report.tripReport(
62
+ new Date(Date.UTC(2022, 2, 4, 0, 0, 0, 0)),
63
+ new Date(Date.UTC(2022, 2, 4, 23, 59, 59, 0)),
64
+ userData)
65
+
66
+ assert.equal(data.length, 1)
67
+ const device = data[0].devices.find(d => d.device.id === 11437)
68
+ assert.equal(device.trips.length, 5) // Total Trips
69
+ assert.equal(device.totalDistance, 207353.2299999997) // Total Kms
70
+ }, 20000)
71
+ // eslint-disable-next-line no-undef
72
+ it('Trip by device with time period ', async () => {
73
+ const report = await getReports()
74
+ const userData = await report.getUserData()
75
+
76
+ userData.allWeek = false
77
+ userData.weekDays = {
78
+ sunday: true,
79
+ monday: true,
80
+ tuesday: true,
81
+ wednesday: true,
82
+ thursday: true,
83
+ friday: true,
84
+ saturday: true
85
+ }
86
+ userData.dayHours = {
87
+ startTime: '15:00',
88
+ endTime: '19:00'
89
+ }
90
+
91
+ const data = await report.tripReport(
92
+ new Date(Date.UTC(2022, 0, 3, 0, 0, 0, 0)),
93
+ new Date(Date.UTC(2022, 0, 4, 23, 59, 59, 0)),
94
+ userData)
95
+
96
+ assert.equal(data.length, 1)
97
+ // const device = data[0].devices.find(d => d.device.id === 22326)
98
+ // assert.equal(device.trips.length, 1) // Total Trips
99
+ // assert.equal(device.totalDistance, 172190.92999999225) // Total Kms
100
+ }, 20000)
101
+ // eslint-disable-next-line no-undef
102
+ it('Trip by device with time period 2', async () => {
103
+ const report = await getReports()
104
+ const userData = await report.getUserData()
105
+
106
+ userData.allWeek = false
107
+ userData.weekDays = {
108
+ sunday: true,
109
+ monday: true,
110
+ tuesday: true,
111
+ wednesday: true,
112
+ thursday: true,
113
+ friday: true,
114
+ saturday: true
115
+ }
116
+ userData.dayHours = {
117
+ startTime: '18:00',
118
+ endTime: '09:00'
119
+ }
120
+
121
+ const data = await report.tripReport(
122
+ new Date(Date.UTC(2022, 0, 10, 0, 0, 0, 0)),
123
+ new Date(Date.UTC(2022, 0, 14, 23, 59, 59, 0)),
124
+ userData)
125
+
126
+ assert.equal(data.length, 1)
127
+ /* const device = data[0].devices.find(d => d.device.id === 22326)
128
+ assert.equal(device.trips.length, 22) // Total Trips
129
+ assert.equal(device.totalDistance, 214334.7800000161) // Total Kms */
130
+ }, 20000)
131
+ // eslint-disable-next-line no-undef
132
+ it('Location by device', async () => {
133
+ const report = await getReports()
134
+ const userData = await report.getUserData()
135
+
136
+ const data = await report.locationReport(
137
+ new Date(Date.UTC(2022, 0, 4, 0, 0, 0, 0)),
138
+ new Date(Date.UTC(2022, 0, 4, 23, 59, 59, 0)),
139
+ userData)
140
+
141
+ assert.equal(data.length, 1)
142
+ const device = data[0].devices.find(d => d.device.id === 22326)
143
+ assert.equal(device.positions.length, 708) // Total Positions
144
+ }, 20000)
145
+ // eslint-disable-next-line no-undef
146
+ it('Location by driver', async () => {
147
+ const report = await getReports()
148
+ const userData = await report.getUserData()
149
+ userData.byDriver = true
150
+ const data = await report.locationReport(new Date(2021, 11, 6, 0, 0, 0, 0),
151
+ new Date(2021, 11, 9, 23, 59, 59, 0),
152
+ userData)
153
+
154
+ assert.equal(data.length, 1)
155
+ const driver = data[0].drivers.find(d => d.driver.id === 14020)
156
+ assert.equal(driver.positions.length, 85) // Total Positions
157
+ }, 20000)
158
+ // eslint-disable-next-line no-undef
159
+ it('KmsReport by device', async () => {
160
+ const reports = await getReports()
161
+ const userData = await reports.getUserData()
162
+ userData.devices = userData.devices.filter(d => d.id === 22326)
163
+ const data = await reports.kmsReport(new Date(2021, 10, 1, 0, 0, 0), new Date(2021, 10, 31, 23, 59, 59),
164
+ userData)
165
+ assert.equal(data.length, 1)
166
+ assert.equal(data.length, 1)
167
+ const device = data[0].devices.find(d => d.device.id === 22326)
168
+ assert.equal(device.summary.distance, 1193284.3100000024) // Total Kms
169
+ }, 30000)
170
+ // eslint-disable-next-line no-undef
171
+ it('KmsReport byDevice groupByDay', async () => {
172
+ const reports = await getReports()
173
+ const userData = await reports.getUserData()
174
+ userData.devices = userData.devices.filter(d => d.id === 22326)
175
+ userData.groupByDay = true
176
+ const data = await reports.kmsReport(new Date(2021, 10, 1, 0, 0, 0), new Date(2021, 10, 10, 23, 59, 59),
177
+ userData)
178
+ assert.equal(data.length, 1)
179
+ assert.equal(data.length, 1)
180
+ const device = data[0].devices.find(d => d.device.id === 22326)
181
+ assert.equal(device.days.length, 10) // Total Kms
182
+ assert.equal(device.days[5].kms, 23183.010000005364) // Total Kms
183
+ }, 30000)
184
+ // eslint-disable-next-line no-undef
185
+ it('Idle by device', async () => {
186
+ const report = await getReports()
187
+ const userData = await report.getUserData()
188
+ userData.minimumIdleMinutes = 2
189
+ const data = await report.idleReport(new Date(2022, 0, 3, 0, 0, 0, 0),
190
+ new Date(2022, 0, 7, 23, 59, 59, 0),
191
+ userData)
192
+ assert.equal(data.length, 1)
193
+ const device = data[0].devices.find(d => d.device.id === 22326)
194
+ const totalIdleTime = device.idleEvents.reduce((a, b) => a + b.idleTime, 0)
195
+ assert.equal(device.idleEvents.length, 8) // Total Alerts
196
+ assert.equal(totalIdleTime, 1294000) // Total Duration
197
+ }, 20000)
198
+ // eslint-disable-next-line no-undef
199
+ it('Activity by device', async () => {
200
+ const report = await getReports()
201
+ const userData = await report.getUserData()
202
+
203
+ const data = await report.activityReport(new Date(2022, 0, 1, 0, 0, 0, 0),
204
+ new Date(2022, 0, 31, 23, 59, 59, 0),
205
+ userData)
206
+ assert.equal(data.length, 1)
207
+ const device = data[0].devices.find(d => d.device.id === 22326)
208
+ assert.equal(device.summary[0].startOdometer, 122502742.59)
209
+ assert.equal(device.summary[0].distance, 1423529.600000009)
210
+ assert.equal(device.summary[0].startTime, '2022-01-01T13:35:47.000+0000')
211
+ assert.equal(device.summary[0].endTime, '2022-01-31T17:36:27.000+0000')
212
+ }, 40000)
213
+ // eslint-disable-next-line no-undef
214
+ it('Activity 2 by device', async () => {
215
+ const report = await getReports()
216
+ const userData = await report.getUserData()
217
+ userData.devices = userData.devices.filter(d => d.id === 11437)
218
+ const data = await report.activityReport(new Date(Date.UTC(2022, 2, 5, 0, 0, 0, 0)),
219
+ new Date(Date.UTC(2022, 2, 5, 23, 59, 59, 0)),
220
+ userData)
221
+ assert.equal(data.length, 1)
222
+ const device = data[0].devices.find(d => d.device.id === 11437)
223
+ assert.equal(device.summary[0].endTime, '2022-03-05T23:59:55.000+0000')
224
+ assert.equal(device.summary[0].distance, 232925.12000000034)
225
+ }, 40000)
226
+ // eslint-disable-next-line no-undef
227
+ it('Activity byDevice groupByDay', async () => {
228
+ const report = await getReports()
229
+ const userData = await report.getUserData()
230
+ userData.groupByDay = true
231
+ const data = await report.activityReport(new Date(2022, 0, 1, 0, 0, 0, 0),
232
+ new Date(2022, 0, 20, 23, 59, 59, 0),
233
+ userData)
234
+ assert.equal(data.length, 1)
235
+ const device = data[0].devices.find(d => d.device.id === 22326)
236
+ assert.equal(device.summary[5].startOdometer, 122923290.95)
237
+ assert.equal(device.summary[5].distance, 77020.37999999523)
238
+ assert.equal(device.summary[5].startTime, '2022-01-06T18:35:04.000+0000')
239
+ assert.equal(device.summary[5].endTime, '2022-01-06T19:54:27.000+0000')
240
+ }, 90000)
241
+ // eslint-disable-next-line no-undef
242
+ it('test allinone', async () => {
243
+ console.log('Start')
244
+ const reports = await getReports()
245
+ const userData = await reports.getUserData()
246
+ const r = await require('./util/traccar').getAllInOne(reports.traccar,
247
+ new Date(2022, 1, 1, 0, 0, 0, 0),
248
+ new Date(2022, 1, 4, 23, 59, 59, 0),
249
+ userData.devices,
250
+ false,
251
+ true,
252
+ true,
253
+ false)
254
+
255
+ assert.equal(r.trips.filter(t => t.deviceId === 22327).length, 20)
256
+ assert.equal(r.stops.filter(t => t.deviceId === 22327).length, 21)
257
+ }, 20000)
258
+ // eslint-disable-next-line no-undef
259
+ it('Total KMS', async () => {
260
+ const report = await getReports()
261
+ const userData = await report.getUserData()
262
+
263
+ const tripsReport = await report.tripReport(
264
+ new Date(Date.UTC(2022, 1, 11, 0, 0, 0, 0)),
265
+ new Date(Date.UTC(2022, 1, 14, 23, 59, 59, 0)),
266
+ userData)
267
+
268
+ const kmsReport = await report.kmsReport(
269
+ new Date(Date.UTC(2022, 1, 11, 0, 0, 0, 0)),
270
+ new Date(Date.UTC(2022, 1, 14, 23, 59, 59, 0)),
271
+ userData)
272
+
273
+ assert.equal(tripsReport.length, 1)
274
+ const device1 = tripsReport[0].devices.find(d => d.device.id === 11681)
275
+ assert.equal(device1.trips.length, 44) // Total Trips
276
+ assert.equal(device1.totalDistance, 882801.0815308811) // Total Kms
277
+
278
+ const device2 = kmsReport[0].devices.find(d => d.device.id === 11681)
279
+ assert.equal(device2.summary.distance, device1.totalDistance) // Total Kms
280
+ }, 30000)
281
+ // eslint-disable-next-line no-undef
282
+ it('Refueling Report', async () => {
283
+ const report = await getReports()
284
+ const userData = await report.getUserData()
285
+
286
+ const data = await report.refuelingReport(
287
+ new Date(Date.UTC(2022, 1, 2, 0, 0, 0, 0)),
288
+ new Date(Date.UTC(2022, 1, 2, 23, 59, 59, 0)),
289
+ userData)
290
+
291
+ assert.equal(data.length, 1)
292
+ console.log(data[0])
293
+ const device = data[0].devices.find(d => d.device.id === 16245)
294
+ assert.equal(device.refuelings.length, 2)
295
+ }, 30000)
296
+ // eslint-disable-next-line no-undef
297
+ it('Refueling2 Report', async () => {
298
+ const report = await getReports()
299
+ const userData = await report.getUserData()
300
+
301
+ const data = await report.refuelingReport(new Date(2022, 1, 21, 0, 0, 0, 0),
302
+ new Date(2022, 1, 25, 23, 59, 59, 0),
303
+ userData)
304
+
305
+ assert.equal(data.length, 1)
306
+ console.log(data[0])
307
+ const device = data[0].devices.find(d => d.device.id === 16245)
308
+ console.log(device.refuelings)
309
+ assert.equal(device.refuelings.length, 4)
310
+ }, 30000)
311
+ // eslint-disable-next-line no-undef
312
+ it('FuelConsumption Report', async () => {
313
+ const report = await getReports()
314
+ const userData = await report.getUserData()
315
+ userData.devices = userData.devices.filter(d => d.id === 22326)
316
+ const data = await report.fuelConsumptionReport(new Date(2022, 0, 1, 0, 0, 0, 0),
317
+ new Date(2022, 0, 10, 23, 59, 59, 0),
318
+ userData)
319
+
320
+ assert.equal(data.length, 1)
321
+ const device = data[0].devices.find(d => d.device.id === 22326)
322
+ console.log(device.days)
323
+ assert.equal(device.days.length, 8)
324
+ assert.equal(device.days[0].spentFuel, 2)
325
+ }, 30000)
326
+ // eslint-disable-next-line no-undef
327
+ it('FuelConsumption Odoo Report', async () => {
328
+ const report = await getReports()
329
+ const userData = await report.getUserData()
330
+ userData.withOdooServices = true
331
+ userData.devices = userData.devices.filter(d => d.id === 25508)
332
+ const data = await report.fuelConsumptionReport(
333
+ new Date(Date.UTC(2022, 1, 1, 0, 0, 0, 0)),
334
+ new Date(Date.UTC(2022, 1, 28, 23, 59, 59, 0)),
335
+ userData)
336
+
337
+ assert.equal(data.length, 1)
338
+ const device = data[0].devices.find(d => d.device.id === 25508)
339
+ assert.equal(device.days.length, 25)
340
+ }, 30000)
341
+ /* it('Zone Report', async () => {
328
342
  const report = await getReports()
329
343
  const userData = await report.getUserData()
330
344
  const data = await report.zoneReport(new Date(2022, 3, 25, 0, 0, 0, 0),
@@ -338,5 +352,5 @@ describe('Test_Reports', function() {
338
352
  assert.equal(device.geofences[0].outTime.fixTime, '2022-04-26T07:47:35.000+0000')
339
353
  assert.equal(device.geofences[0].totalTime, '28770')
340
354
  assert.equal(device.geofences[0].geofenceName, 'Casa João')
341
- }, 30000)*/
355
+ }, 30000) */
342
356
  })