1
0
Fork 0
radiomanifest.js/test/example-onlyics.test.js

60 lines
1.7 KiB
JavaScript

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 = 'onlyics'
const expect = chai.expect
const url = 'https://radiomanifest.degenerazione.xyz/v0.2/examples/' + exampleName + '/'
describe('examples/' + exampleName, () => {
describe('schedule', () => {
it('should find one event', async () => {
const rm = await radiomanifest.get(url)
assert.equal(rm.getSchedule().getEvents().length, 1)
})
it('with a specific name', async () => {
const rm = await radiomanifest.get(url)
const ev = rm.getSchedule().getEvents()[0]
const summary = ev.getFirstProperty('summary').getFirstValue()
assert.equal(summary, 'JavaScript show')
})
it('happens every monday at 6AM', async () => {
const rm = await radiomanifest.get(url)
const rs = rm.getSchedule()
const now = new ICAL.Time({
year: 2022,
month: 1,
day: 3,
hour: 6,
minute: 30,
second: 0,
isDate: false
});
const show = rs.getNowShow(now)
assert.notEqual(show, null)
assert.equal(show.getName(), 'JavaScript show')
})
it('doesnt happen at any other time than 6AM', async () => {
const rm = await radiomanifest.get(url)
const rs = rm.getSchedule()
const now = new ICAL.Time({
year: 2022,
month: 1,
day: 3,
hour: 9,
minute: 0,
second: 0,
isDate: false
});
const ev = rs.getNowEvent(now)
assert.equal(ev, null)
})
})
})