Files
omni-tools/src/pages/tools/time/crontab-guru/crontab-guru.service.test.ts

27 lines
922 B
TypeScript

import { expect, describe, it } from 'vitest';
import { validateCrontab, explainCrontab } from './service';
describe('crontab-guru service', () => {
it('validates correct crontab expressions', () => {
expect(validateCrontab('35 16 * * 0-5')).toBe(true);
expect(validateCrontab('* * * * *')).toBe(true);
expect(validateCrontab('0 12 1 * *')).toBe(true);
});
it('invalidates incorrect crontab expressions', () => {
expect(validateCrontab('invalid expression')).toBe(false);
expect(validateCrontab('61 24 * * *')).toBe(false);
});
it('explains valid crontab expressions', () => {
expect(explainCrontab('35 16 * * 0-5')).toMatch(/At 04:35 PM/);
expect(explainCrontab('* * * * *')).toMatch(/Every minute/);
});
it('returns error for invalid crontab explanation', () => {
expect(explainCrontab('invalid expression')).toMatch(
/Invalid crontab expression/
);
});
});