it('it understands human intervals', () => { let now = new Date(); job.attrs.lastRunAt = now; job.repeatEvery('2 minutes'); job.computeNextRunAt(); expect(job.attrs.nextRunAt).to.be(now.valueOf() + 120000); });
it('understands cron intervals with a timezone when last run is the same as the interval', () => { job.attrs.lastRunAt = new Date('2015-01-01T06:00:00-00:00'); job.repeatEvery('0 6 * * *', { timezone: 'GMT' }); job.computeNextRunAt(); expect(moment(job.attrs.nextRunAt).tz('GMT').hour()).to.be(6); expect(moment(job.attrs.nextRunAt).toDate().getDate()).to.be(moment(job.attrs.lastRunAt).add(1, 'days').toDate().getDate()); });
it('updates nextRunAt', (done) => { let now = new Date(); job.repeatEvery('10 minutes'); setTimeout(() => { job.run(() => { expect(job.attrs.nextRunAt.valueOf()).to.be.greaterThan(now.valueOf() + 59999); done(); }); }, 5); });
it('understands cron intervals', () => { let now = new Date(); now.setMinutes(1); now.setMilliseconds(0); now.setSeconds(0); job.attrs.lastRunAt = now; job.repeatEvery('*/2 * * * *'); job.computeNextRunAt(); expect(job.attrs.nextRunAt.valueOf()).to.be(now.valueOf() + 60000); });
it('returns the job', () => { expect(job.repeatEvery('one second')).to.be(job); });
it('sets the repeat interval', () => { job.repeatEvery(5000); expect(job.attrs.repeatInterval).to.be(5000); });