node-cron-expression
Version:
Declarative functional crontab expression builder
28 lines • 3.91 kB
JavaScript
import { atHour, atMinute } from './at';
import { combine } from './combine';
import { every } from './every';
import { inMonth } from './inMonth';
import { onDayOfTheMonth, onDayOfTheWeek } from './on';
describe('combine', () => {
it('should provide every hour at 30 minutes', () => {
expect(combine(every(2).hours(), atMinute(30)).toString()).toBe('30 */2 * * *');
});
it('should provide every day at midnight', () => {
expect(combine(atHour(0), atMinute(0)).toString()).toBe('0 0 * * *');
});
it('should provide every Thursday at midnight in July', () => {
expect(combine(onDayOfTheWeek(5), atHour(0), inMonth(7), atMinute(0)).toString()).toBe('0 0 * 7 5');
});
it('should provide every day at 2am', () => {
expect(combine(atHour(2), atMinute(0)).toString()).toBe('0 2 * * *');
});
it('should provide every sunday at 2am', () => {
expect(combine(onDayOfTheWeek(6), atHour(2), atMinute(0)).toString()).toBe('0 2 * * 6');
});
it('should combine different functions with different order', () => {
const expectedValue = '32 2 15 * 6';
expect(combine(onDayOfTheWeek(6), onDayOfTheMonth(15), atHour(2), atMinute(32)).toString()).toBe(expectedValue);
expect(combine(atHour(2), atMinute(32), onDayOfTheMonth(15), onDayOfTheWeek(6)).toString()).toBe(expectedValue);
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tYmluZS5zcGVjLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9jb21iaW5lLnNwZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBQ2hDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkQsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7SUFDdkIsRUFBRSxDQUFDLHlDQUF5QyxFQUFFLEdBQUcsRUFBRTtRQUNqRCxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDN0QsY0FBYyxDQUNmLENBQUM7SUFDSixDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxzQ0FBc0MsRUFBRSxHQUFHLEVBQUU7UUFDOUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdkUsQ0FBQyxDQUFDLENBQUM7SUFFSCxFQUFFLENBQUMsbURBQW1ELEVBQUUsR0FBRyxFQUFFO1FBQzNELE1BQU0sQ0FDSixPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQzFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLGlDQUFpQyxFQUFFLEdBQUcsRUFBRTtRQUN6QyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2RSxDQUFDLENBQUMsQ0FBQztJQUVILEVBQUUsQ0FBQyxvQ0FBb0MsRUFBRSxHQUFHLEVBQUU7UUFDNUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN4RSxXQUFXLENBQ1osQ0FBQztJQUNKLENBQUMsQ0FBQyxDQUFDO0lBRUgsRUFBRSxDQUFDLHlEQUF5RCxFQUFFLEdBQUcsRUFBRTtRQUNqRSxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDcEMsTUFBTSxDQUNKLE9BQU8sQ0FDTCxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQ2pCLGVBQWUsQ0FBQyxFQUFFLENBQUMsRUFDbkIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUNULFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FDYixDQUFDLFFBQVEsRUFBRSxDQUNiLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXRCLE1BQU0sQ0FDSixPQUFPLENBQ0wsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUNULFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFDWixlQUFlLENBQUMsRUFBRSxDQUFDLEVBQ25CLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FDbEIsQ0FBQyxRQUFRLEVBQUUsQ0FDYixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN4QixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyxDQUFDIn0=