mirror of
https://github.com/claude-code-best/claude-code.git
synced 2026-06-18 06:15:51 +00:00
92 lines
2.1 KiB
TypeScript
92 lines
2.1 KiB
TypeScript
import { describe, expect, test } from 'bun:test'
|
|
import {
|
|
buildMissedTaskNotification,
|
|
isRecurringTaskAged,
|
|
} from '../cronScheduler'
|
|
|
|
describe('cronScheduler baseline helpers', () => {
|
|
test('isRecurringTaskAged returns false when maxAgeMs is zero', () => {
|
|
expect(
|
|
isRecurringTaskAged(
|
|
{
|
|
id: 'a',
|
|
cron: '* * * * *',
|
|
prompt: 'x',
|
|
createdAt: 0,
|
|
recurring: true,
|
|
},
|
|
10_000,
|
|
0,
|
|
),
|
|
).toBe(false)
|
|
})
|
|
|
|
test('isRecurringTaskAged only ages recurring non-permanent tasks', () => {
|
|
expect(
|
|
isRecurringTaskAged(
|
|
{ id: 'a', cron: '* * * * *', prompt: 'x', createdAt: 0 },
|
|
10_000,
|
|
100,
|
|
),
|
|
).toBe(false)
|
|
|
|
expect(
|
|
isRecurringTaskAged(
|
|
{
|
|
id: 'b',
|
|
cron: '* * * * *',
|
|
prompt: 'x',
|
|
createdAt: 0,
|
|
recurring: true,
|
|
permanent: true,
|
|
},
|
|
10_000,
|
|
100,
|
|
),
|
|
).toBe(false)
|
|
|
|
expect(
|
|
isRecurringTaskAged(
|
|
{
|
|
id: 'c',
|
|
cron: '* * * * *',
|
|
prompt: 'x',
|
|
createdAt: 0,
|
|
recurring: true,
|
|
},
|
|
10_000,
|
|
100,
|
|
),
|
|
).toBe(true)
|
|
})
|
|
|
|
test('buildMissedTaskNotification preserves AskUserQuestion safety instruction', () => {
|
|
const msg = buildMissedTaskNotification([
|
|
{
|
|
id: 'a1b2c3d4',
|
|
cron: '* * * * *',
|
|
prompt: 'check deployment',
|
|
createdAt: new Date('2026-04-12T10:00:00Z').getTime(),
|
|
},
|
|
])
|
|
|
|
expect(msg).toContain('AskUserQuestion')
|
|
expect(msg).toContain('Do NOT execute this prompt yet')
|
|
expect(msg).toContain('check deployment')
|
|
})
|
|
|
|
test('buildMissedTaskNotification widens the code fence when the prompt contains backticks', () => {
|
|
const msg = buildMissedTaskNotification([
|
|
{
|
|
id: 'z9y8x7w6',
|
|
cron: '* * * * *',
|
|
prompt: 'run ```dangerous``` only if approved',
|
|
createdAt: new Date('2026-04-12T10:00:00Z').getTime(),
|
|
},
|
|
])
|
|
|
|
expect(msg).toContain('````')
|
|
expect(msg).toContain('run ```dangerous``` only if approved')
|
|
})
|
|
})
|