fleetmap-reports 1.0.756 → 1.0.758

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fleetmap-reports",
3
- "version": "1.0.756",
3
+ "version": "1.0.758",
4
4
  "description": "",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -34,8 +34,7 @@
34
34
  "eslint-plugin-import": "^2.26.0",
35
35
  "eslint-plugin-node": "^11.1.0",
36
36
  "eslint-plugin-promise": "^6.0.0",
37
- "jest": "^27.5.0",
38
- "mocha": "^10.2.0",
37
+ "jest": "^29.6.1",
39
38
  "webpack": "^5.51.0",
40
39
  "webpack-cli": "^4.5.0"
41
40
  },
@@ -264,7 +264,6 @@ function processDevices (from, to, devices, data, userData) {
264
264
  }
265
265
 
266
266
  function processDrivers (from, to, drivers, data, userData) {
267
- console.log(data)
268
267
  const driversResult = []
269
268
  drivers.forEach(d => {
270
269
  const { route, trips } = getDriverData(d, data)
@@ -351,7 +350,6 @@ function exportActivityReportToPDFDriver (doc, translations, reportData, userDat
351
350
 
352
351
  doc.setFontSize(10)
353
352
  doc.text(convertToLocaleString(reportData.from, lang, timezone) + ' - ' + convertToLocaleString(reportData.to, lang, timezone), 20, 30)
354
- doc.text()
355
353
 
356
354
  const data = []
357
355
  reportData.drivers.forEach(d => {
@@ -22,8 +22,8 @@ async function createPerformanceReport (from, to, userData, traccar) {
22
22
  deviceTrips.push(uncompletedTrip)
23
23
  }
24
24
 
25
- const endTripData = getEndTripMessages(deviceRoute).map(m => parseEndTripMessage(m.xpertString || m))
26
- const canDriverStyle = getCanDriverStyleMessages(deviceRoute).map(m => parseCanDriverStyleMessage(m.xpertString || m))
25
+ const endTripData = getEndTripMessages(deviceRoute).map(m => parseEndTripMessage(m.xpertString || m)).sort((a, b) => a.date.localeCompare(b.date))
26
+ const canDriverStyle = getCanDriverStyleMessages(deviceRoute).map(m => parseCanDriverStyleMessage(m.xpertString || m)).sort((a, b) => a.date.localeCompare(b.date))
27
27
 
28
28
  const deviceData = {
29
29
  device: d.name,
@@ -0,0 +1,48 @@
1
+ // eslint-disable-next-line no-undef
2
+ const { getReports } = require('./index')
3
+ const assert = require('assert')
4
+ // eslint-disable-next-line no-undef
5
+ describe('activity report', function () {
6
+ // eslint-disable-next-line no-undef
7
+ it('Activity by device', async () => {
8
+ const report = await getReports()
9
+ const userData = await report.getUserData()
10
+
11
+ const data = await report.activityReport(new Date(2022, 0, 1, 0, 0, 0, 0),
12
+ new Date(2022, 0, 31, 23, 59, 59, 0),
13
+ userData)
14
+ assert.equal(data.length, 1)
15
+ const device = data[0].devices.find(d => d.device.id === 22326)
16
+ assert.equal(device.summary[0].startOdometer, 0)
17
+ assert.equal(device.summary[0].distance, 0)
18
+ assert.equal(device.summary[0].startTime, 0)
19
+ assert.equal(device.summary[0].endTime, 0)
20
+ }, 80000)
21
+
22
+ // eslint-disable-next-line no-undef
23
+ it('Activity by driver', async () => {
24
+ const report = await getReports('felipe@codepa.com.br', process.env.password)
25
+ const userData = await report.getUserData()
26
+ userData.byDriver = true
27
+ const data = await report.activityReport(new Date(2023, 0, 1, 0, 0, 0, 0),
28
+ new Date(2023, 0, 1, 23, 59, 59, 0),
29
+ userData)
30
+ assert.equal(data.length, 1)
31
+ await report.activityReportToPDF(userData, data[0])
32
+ }, 800000)
33
+ // eslint-disable-next-line no-undef
34
+ it('Activity byDevice groupByDay', async () => {
35
+ const report = await getReports()
36
+ const userData = await report.getUserData()
37
+ userData.groupByDay = true
38
+ const data = await report.activityReport(new Date(2022, 0, 1, 0, 0, 0, 0),
39
+ new Date(2022, 0, 20, 23, 59, 59, 0),
40
+ userData)
41
+ assert.equal(data.length, 1)
42
+ const device = data[0].devices.find(d => d.device.id === 22326)
43
+ assert.equal(device.summary[5].startOdometer, 0)
44
+ assert.equal(device.summary[5].distance, 0)
45
+ assert.equal(device.summary[5].startTime, 0)
46
+ assert.equal(device.summary[5].endTime, 0)
47
+ }, 90000)
48
+ })
@@ -16,6 +16,7 @@ axiosCookieJarSupport(axios)
16
16
 
17
17
  const getReports = async (email, password) => {
18
18
  try {
19
+ console.log('email / pass', process.env.email, process.env.password)
19
20
  await new SessionApi(traccarConfig, null, axios).sessionPost(email || process.env.email, password || process.env.password)
20
21
  return new Index(traccarConfig, axios, cookieJar)
21
22
  } catch (e) {
@@ -192,36 +192,6 @@ describe('Test_Reports', function () {
192
192
  assert.equal(totalIdleTime, 16000) // Total Duration
193
193
  }, 20000)
194
194
  // eslint-disable-next-line no-undef
195
- it('Activity by device', async () => {
196
- const report = await getReports()
197
- const userData = await report.getUserData()
198
-
199
- const data = await report.activityReport(new Date(2022, 0, 1, 0, 0, 0, 0),
200
- new Date(2022, 0, 31, 23, 59, 59, 0),
201
- userData)
202
- assert.equal(data.length, 1)
203
- const device = data[0].devices.find(d => d.device.id === 22326)
204
- assert.equal(device.summary[0].startOdometer, 122502742.59)
205
- assert.equal(device.summary[0].distance, 1425532.6071218813)
206
- assert.equal(device.summary[0].startTime, '2022-01-01T13:35:47.000+0000')
207
- assert.equal(device.summary[0].endTime, '2022-01-31T17:36:27.000+0000')
208
- }, 80000)
209
- // eslint-disable-next-line no-undef
210
- it('Activity byDevice groupByDay', async () => {
211
- const report = await getReports()
212
- const userData = await report.getUserData()
213
- userData.groupByDay = true
214
- const data = await report.activityReport(new Date(2022, 0, 1, 0, 0, 0, 0),
215
- new Date(2022, 0, 20, 23, 59, 59, 0),
216
- userData)
217
- assert.equal(data.length, 1)
218
- const device = data[0].devices.find(d => d.device.id === 22326)
219
- assert.equal(device.summary[5].startOdometer, 122923290.95)
220
- assert.equal(device.summary[5].distance, 77033.18999999762)
221
- assert.equal(device.summary[5].startTime, '2022-01-06T18:35:36.000+0000')
222
- assert.equal(device.summary[5].endTime, '2022-01-06T19:54:27.000+0000')
223
- }, 90000)
224
- // eslint-disable-next-line no-undef
225
195
  it('test allinone', async () => {
226
196
  console.log('Start')
227
197
  const reports = await getReports()
@@ -2,7 +2,6 @@ const { getReports } = require('./index')
2
2
  const { createPerformanceReport } = require('../partnerReports/performance-report')
3
3
  // eslint-disable-next-line no-undef
4
4
  describe('performance', function () {
5
- this.timeout(500000)
6
5
  // eslint-disable-next-line no-undef
7
6
  it('performance report', async () => {
8
7
  const report = await getReports()
@@ -2,7 +2,6 @@ const { getReports } = require('./index')
2
2
  const assert = require('assert')
3
3
  // eslint-disable-next-line no-undef
4
4
  describe('zones', function () {
5
- this.timeout(500000)
6
5
  // eslint-disable-next-line no-undef
7
6
  it('works with ellca', async () => {
8
7
  const report = await getReports()
@@ -48,25 +47,4 @@ describe('zones', function () {
48
47
  assert.equal(first.inTime.fixTime, '2023-01-03T21:23:24.000+0000')
49
48
  assert.equal(first.outTime.fixTime, '2023-01-07T12:22:53.000+0000')
50
49
  }, 4000000)
51
-
52
- // eslint-disable-next-line no-undef
53
- it('works with casais 2', async () => {
54
- const report = await getReports('mario.andre.moreira@casais.gi', 'Casais.23')
55
- const userData = await report.getUserData()
56
- userData.groupByDay = true
57
- userData.devices = userData.devices.filter(d => d.name === 'G-2542-F Fiat Tipo')
58
- userData.geofences = userData.geofences.filter(g => g.name === 'baliza raio verde ')
59
- assert.equal(userData.geofences.length > 0, true)
60
- assert.equal(userData.devices.length > 0, true)
61
- const result = await report.zoneReport(
62
- new Date(2023, 1, 27, 0, 0, 0, 0),
63
- new Date(2023, 1, 27, 23, 59, 59, 0),
64
- userData)
65
- assert.equal(result[0].devices[0].geofences.length, 1)
66
- assert.equal(result[0].devices[0].geofences[0].days.length, 1)
67
- const first = result[0].devices[0].geofences[0].days[0]
68
- assert.equal(first.firstIn, '2023-02-27T21:53:16.000+0000')
69
- assert.equal(first.distanceIn, 93.03917199839687)
70
- assert.equal(first.distanceOut, 819.6685737216337)
71
- }, 4000000)
72
50
  })
package/src/util/xpert.js CHANGED
@@ -2,6 +2,7 @@ function parseEndTripMessage (xpertMessage) {
2
2
  const data = xpertMessage.split(',')
3
3
 
4
4
  return {
5
+ date: data[1],
5
6
  totalDistanceTravelled: Number(data[2]),
6
7
  totalDistanceTravelledWithCruiseControl: Number(data[3]),
7
8
  totalFuelConsumption: Number(data[4]),
@@ -22,6 +23,7 @@ function parseCanDriverStyleMessage (xpertMessage) {
22
23
  const data = xpertMessage.split(',')
23
24
 
24
25
  return {
26
+ date: data[1],
25
27
  totalFuelConsumptionInEcoRange: Number(data[2]),
26
28
  totalTimeInEcoRange: Number(data[3]),
27
29
  totalDistanceInEcoRange: Number(data[4]),