fleetmap-reports 1.0.391 → 1.0.398

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