more tests for getNext

This commit is contained in:
boyska 2022-02-02 10:16:30 +01:00
parent 52cf3c5387
commit 186ed67a8d

View file

@ -0,0 +1,79 @@
const ICAL = require('ical.js')
const radiomanifest = require('../radiomanifest.js')
const chai = require('chai')
chai.use(require('chai-as-promised'))
const assert = chai.assert
const exampleName = 'full-spore'
const expect = chai.expect
const url = 'https://radiomanifest.degenerazione.xyz/v0.2/examples/' + exampleName + '/'
const testShowName = 'scaricomerci'
const testNextShowName = 'nastrone notte'
describe('examples/' + exampleName, () => {
describe('schedule.getNow', () => {
it('observes priority correctly', async () => {
// tuesday, half past midnight
const rm = await radiomanifest.get(url)
const rs = rm.getSchedule()
const now = new ICAL.Time({
year: 2022,
month: 1,
day: 30,
hour: 2,
minute: 20,
second: 0,
isDate: false
},
ICAL.Timezone.utcTimezone
);
const vevent = rs.getNowEvent(now)
assert.notEqual(vevent, null)
const show = rs.getNowShow(now)
assert.notEqual(show, null)
assert.equal(show.getName(), testShowName)
})
})
describe('schedule.getNext', () => {
it('getNext observes priority correctly', async () => {
// tuesday, half past midnight
const rm = await radiomanifest.get(url)
const rs = rm.getSchedule()
const now = new ICAL.Time({
year: 2022,
month: 2,
day: 2,
hour: 2,
minute: 20,
second: 0,
isDate: false
},
);
const vevent = rs.getNowEvent(now)
assert.notEqual(vevent, null)
const show = rs.getNowShow(now)
assert.notEqual(show, null)
assert.equal(show.getName(), testShowName)
const next_event = rs.getNextEvent(now)
assert.notEqual(next_event, null)
assert.isObject(next_event.event)
assert.isObject(next_event.time)
const next_show = rs.getNextShow(now)
assert.isObject(next_show)
assert.isObject(next_show.show)
assert.equal(next_show.show.getName(), testNextShowName)
const time = next_event.time.toJSDate()
assert.equal(time.getHours(), 2)
assert.equal(time.getMinutes(), 58)
})
})
})