masterblaster
Version:
Scheduling and componsation system for biodome
39 lines (35 loc) • 1.16 kB
JavaScript
var chai = require('chai')
, expect = chai.expect
, assert = chai.assert
, schedule = require('../lib/schedule')
describe('Device event scheduling', function() {
describe('#schedule', function() {
it('returns a new RecurringDeviceEvent with null options', function() {
var sched = schedule('dummy', 'off');
expect(sched.opts.device).to.equal('dummy');
expect(sched.opts.scheduledState).to.equal('off');
expect(sched.opts.goTime).to.be.null;
expect(sched.resolved).to.be.false;
});
});
describe('#on', function() {
before(function() {
sched = schedule('monkey', 'hungry').on('every 5 minutes');
});
it('sets goTime option', function() {
assert(sched.opts.goTime == 'every 5 minutes');
});
it('is chainable', function() {
assert(sched instanceof schedule.RecurringDeviceEvent);
});
});
describe('#resolveOptions', function() {
before(function() {
sched = schedule('pump', 'on').at('10:15am')
sched.resolveOptions();
});
it('ensures goTime is parsed', function() {
assert(sched.parsed.startSchedule instanceof Object);
});
});
});