mirror of https://github.com/IoTcat/FDC.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
328 lines
6.6 KiB
328 lines
6.6 KiB
5 years ago
|
'use strict';
|
||
|
|
||
|
var sinon = require('sinon');
|
||
|
var main = require('../package.json').main;
|
||
|
var schedule = require('../' + main);
|
||
|
|
||
|
var clock;
|
||
|
|
||
|
module.exports = {
|
||
|
setUp: function (cb) {
|
||
|
clock = sinon.useFakeTimers();
|
||
|
cb();
|
||
|
},
|
||
|
'RecurrenceRule': {
|
||
|
'no endTime , startTime less than now': function (test) {
|
||
|
test.expect(3);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
var rule = new schedule.RecurrenceRule();
|
||
|
rule.second = null; // every second
|
||
|
|
||
|
job.schedule({
|
||
|
start: new Date(Date.now() - 2000),
|
||
|
rule: rule
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
},
|
||
|
'no endTime , startTime greater than now': function (test) {
|
||
|
test.expect(1);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
var rule = new schedule.RecurrenceRule();
|
||
|
rule.second = null; // every second
|
||
|
|
||
|
job.schedule({
|
||
|
start: new Date(Date.now() + 2000),
|
||
|
rule: rule
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
},
|
||
|
'no startTime , endTime less than now': function (test) {
|
||
|
test.expect(0);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
var rule = new schedule.RecurrenceRule();
|
||
|
rule.second = null; // every second
|
||
|
|
||
|
job.schedule({
|
||
|
end: new Date(Date.now() - 2000),
|
||
|
rule: rule
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
},
|
||
|
'no startTime , endTime greater than now': function (test) {
|
||
|
test.expect(2);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
var rule = new schedule.RecurrenceRule();
|
||
|
rule.second = null; // every second
|
||
|
|
||
|
job.schedule({
|
||
|
end: new Date(Date.now() + 2000),
|
||
|
rule: rule
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
},
|
||
|
'has startTime and endTime': function (test) {
|
||
|
test.expect(1);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
var rule = new schedule.RecurrenceRule();
|
||
|
rule.second = null; // every second
|
||
|
|
||
|
job.schedule({
|
||
|
start: new Date(Date.now() + 1000),
|
||
|
end: new Date(Date.now() + 2000),
|
||
|
rule: rule
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
}
|
||
|
},
|
||
|
'Object Literal': {
|
||
|
'no endTime , startTime less than now': function (test) {
|
||
|
test.expect(3);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
job.schedule({
|
||
|
start: new Date(Date.now() - 2000),
|
||
|
rule: { second: null }
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
},
|
||
|
'no endTime , startTime greater than now': function (test) {
|
||
|
test.expect(1);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
job.schedule({
|
||
|
start: new Date(Date.now() + 2000),
|
||
|
rule: { second: null }
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
},
|
||
|
'no startTime , endTime less than now': function (test) {
|
||
|
test.expect(0);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
job.schedule({
|
||
|
end: new Date(Date.now() - 2000),
|
||
|
rule: { second: null }
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
},
|
||
|
'no startTime , endTime greater than now': function (test) {
|
||
|
test.expect(2);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
job.schedule({
|
||
|
end: new Date(Date.now() + 2000),
|
||
|
rule: { second: null }
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
},
|
||
|
'has startTime and endTime': function (test) {
|
||
|
test.expect(1);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
job.schedule({
|
||
|
start: new Date(Date.now() + 1000),
|
||
|
end: new Date(Date.now() + 2000),
|
||
|
rule: { second: null }
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
}
|
||
|
},
|
||
|
'cron-style': {
|
||
|
'no endTime , startTime less than now': function (test) {
|
||
|
test.expect(3);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
job.schedule({
|
||
|
start: new Date(Date.now() - 2000),
|
||
|
rule: '*/1 * * * * *'
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
},
|
||
|
'no endTime , startTime greater than now': function (test) {
|
||
|
test.expect(1);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
job.schedule({
|
||
|
start: new Date(Date.now() + 2000),
|
||
|
rule: '*/1 * * * * *'
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
},
|
||
|
'no startTime , endTime less than now': function (test) {
|
||
|
test.expect(0);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
job.schedule({
|
||
|
end: new Date(Date.now() - 2000),
|
||
|
rule: '*/1 * * * * *'
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
},
|
||
|
'no startTime , endTime greater than now': function (test) {
|
||
|
test.expect(2);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
job.schedule({
|
||
|
end: new Date(Date.now() + 2000),
|
||
|
rule: '*/1 * * * * *'
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
},
|
||
|
'has startTime and endTime': function (test) {
|
||
|
test.expect(1);
|
||
|
|
||
|
var job = new schedule.Job(function () {
|
||
|
test.ok(true);
|
||
|
});
|
||
|
|
||
|
job.schedule({
|
||
|
start: new Date(Date.now() + 1000),
|
||
|
end: new Date(Date.now() + 2000),
|
||
|
rule: '*/1 * * * * *'
|
||
|
});
|
||
|
|
||
|
setTimeout(function () {
|
||
|
job.cancel();
|
||
|
test.done();
|
||
|
}, 3250);
|
||
|
|
||
|
clock.tick(3250);
|
||
|
}
|
||
|
},
|
||
|
tearDown: function (cb) {
|
||
|
clock.restore();
|
||
|
cb();
|
||
|
}
|
||
|
};
|