db-vendo-client/test/parse/when.js

44 lines
915 B
JavaScript
Raw Permalink Normal View History

2019-09-03 15:35:12 +02:00
'use strict'
2021-05-20 16:42:43 +01:00
const tap = require('tap')
2019-09-03 15:35:12 +02:00
const parse = require('../../parse/when')
const profile = {
parseDateTime: ({profile}, date, time, tzOffset, timestamp = false) => {
2019-09-03 15:35:12 +02:00
if (timestamp) return ((date + '' + time) - tzOffset * 60) * 1000
return date + ':' + time
}
}
const ctx = {
data: {},
opt: {},
profile
}
2019-09-03 15:35:12 +02:00
2021-05-20 16:42:43 +01:00
tap.test('parseWhen works correctly', (t) => {
2019-09-03 15:35:12 +02:00
const date = '20190606'
const timeS = '163000'
const timeR = '163130'
const tzOffset = 120
const expected = {
when: '20190606:163130',
plannedWhen: '20190606:163000',
delay: 130 // seconds
}
2021-05-20 16:42:43 +01:00
t.same(parse(ctx, date, timeS, timeR, tzOffset), expected)
2019-09-03 15:35:12 +02:00
// no realtime data
2021-05-20 16:42:43 +01:00
t.same(parse(ctx, date, timeS, null, tzOffset), {
2019-09-03 15:35:12 +02:00
...expected, when: expected.plannedWhen, delay: null
})
// cancelled
2021-05-20 16:42:43 +01:00
t.same(parse(ctx, date, timeS, timeR, tzOffset, true), {
2019-09-03 15:35:12 +02:00
...expected,
when: null,
prognosedWhen: expected.when
})
t.end()
})