Files
TORCH/test/cli-parser.test.mjs
T
google-labs-jules[bot]andPR0M3TH3AN dba1d43c94 refactor(core): extract parseArgs to cli-parser.mjs
- Extracted `parseArgs` function from `src/lib.mjs` to `src/cli-parser.mjs`.
- Added unit tests for argument parsing logic in `test/cli-parser.test.mjs`.
- Updated `src/lib.mjs` to import `parseArgs`.
- Fixed roster drift in `src/prompts/weekly-scheduler.md` to match `roster.json`.
- Verified with `npm test` and `npm run lint`.
- Completed weekly scheduler task for `refactor-agent`.

Co-authored-by: PR0M3TH3AN <[email protected]>
2026-02-15 15:49:29 +00:00

81 lines
2.5 KiB
JavaScript

import { test } from 'node:test';
import assert from 'node:assert';
import { parseArgs } from '../src/cli-parser.mjs';
import { DEFAULT_DASHBOARD_PORT } from '../src/constants.mjs';
test('parseArgs should parse basic command', () => {
const args = parseArgs(['check', '--cadence', 'daily']);
assert.strictEqual(args.command, 'check');
assert.strictEqual(args.cadence, 'daily');
});
test('parseArgs should parse agent and cadence', () => {
const args = parseArgs(['lock', '--agent', 'my-agent', '--cadence', 'weekly']);
assert.strictEqual(args.command, 'lock');
assert.strictEqual(args.agent, 'my-agent');
assert.strictEqual(args.cadence, 'weekly');
});
test('parseArgs should parse equals sign syntax', () => {
const args = parseArgs(['lock', '--agent=my-agent', '--cadence=weekly']);
assert.strictEqual(args.command, 'lock');
assert.strictEqual(args.agent, 'my-agent');
assert.strictEqual(args.cadence, 'weekly');
});
test('parseArgs should parse dry-run flag', () => {
const args = parseArgs(['lock', '--dry-run']);
assert.strictEqual(args.dryRun, true);
});
test('parseArgs should parse port with default', () => {
const args = parseArgs(['dashboard']);
assert.strictEqual(args.port, DEFAULT_DASHBOARD_PORT);
});
test('parseArgs should parse custom port', () => {
const args = parseArgs(['dashboard', '--port', '8080']);
assert.strictEqual(args.port, 8080);
});
test('parseArgs should parse ignore-logs flag', () => {
const args = parseArgs(['check', '--ignore-logs']);
assert.strictEqual(args.ignoreLogs, true);
});
test('parseArgs should parse memory flags', () => {
const args = parseArgs([
'list-memories',
'--id', '123',
'--type', 'retrieve',
'--tags', 'a,b',
'--pinned', 'true',
'--limit', '10',
'--offset', '5'
]);
assert.strictEqual(args.id, '123');
assert.strictEqual(args.type, 'retrieve');
assert.deepStrictEqual(args.tags, ['a', 'b']);
assert.strictEqual(args.pinned, true);
assert.strictEqual(args.limit, 10);
assert.strictEqual(args.offset, 5);
});
test('parseArgs should parse memory flags with equals', () => {
const args = parseArgs([
'list-memories',
'--id=123',
'--type=retrieve',
'--tags=a,b',
'--pinned=false',
'--limit=10',
'--offset=5'
]);
assert.strictEqual(args.id, '123');
assert.strictEqual(args.type, 'retrieve');
assert.deepStrictEqual(args.tags, ['a', 'b']);
assert.strictEqual(args.pinned, false);
assert.strictEqual(args.limit, 10);
assert.strictEqual(args.offset, 5);
});