Files
Dragan Spiridonov e82a7240ec feat: implement CC-internals improvements IMP-00 through IMP-10 (Waves 0-4)
11 improvements across 4 priority tiers, all integrated into production
code paths with 416 new tests across 33 test files. Each wave passed
a brutal honesty audit with all findings resolved.

Wave 0-2 (P0/P1): Middleware chain, microcompact, tool concurrency,
retry engine, session durability, prompt cache latch, startup fast
paths, hook security hardening.

Wave 3 (P2): 4-tier context compaction pipeline, plugin architecture
with local/GitHub/npm sources.

Wave 4 (P3): QE Quality Daemon — priority queue, git watcher (with
Linux polling fallback), coverage delta analyzer, CI monitor, test
suggester, nightly consolidation, notification service with SSRF guard,
persistent SQLite-backed memory, CLI commands, MCP startup integration.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 17:32:50 +00:00

44 lines
1.5 KiB
TypeScript

/**
* Tests for the QE Quality Daemon CLI commands (IMP-10).
*/
import { describe, it, expect } from 'vitest';
import { createDaemonCommand } from '../../../src/cli/commands/daemon';
describe('Daemon CLI Command', () => {
it('creates a commander Command with name "daemon"', () => {
const cmd = createDaemonCommand();
expect(cmd.name()).toBe('daemon');
});
it('has start, stop, status, notifications, and clear-notifications subcommands', () => {
const cmd = createDaemonCommand();
const subcommands = cmd.commands.map((c) => c.name());
expect(subcommands).toContain('start');
expect(subcommands).toContain('stop');
expect(subcommands).toContain('status');
expect(subcommands).toContain('notifications');
expect(subcommands).toContain('clear-notifications');
});
it('start command has --tick-interval and --ci-interval options', () => {
const cmd = createDaemonCommand();
const start = cmd.commands.find((c) => c.name() === 'start')!;
const optionNames = start.options.map((o) => o.long);
expect(optionNames).toContain('--tick-interval');
expect(optionNames).toContain('--ci-interval');
});
it('notifications command has --unread, --limit, and --type options', () => {
const cmd = createDaemonCommand();
const notifs = cmd.commands.find((c) => c.name() === 'notifications')!;
const optionNames = notifs.options.map((o) => o.long);
expect(optionNames).toContain('--unread');
expect(optionNames).toContain('--limit');
expect(optionNames).toContain('--type');
});
});