refactor: reduce query error factory public surface
This commit is contained in:
@@ -3,17 +3,15 @@ import { ErrorClassification, GSDError } from './errors.js';
|
||||
import {
|
||||
createQueryNativeErrorFactory,
|
||||
createQueryToolsErrorFactory,
|
||||
failureToolsError,
|
||||
timeoutToolsError,
|
||||
toToolsErrorFromUnknown,
|
||||
} from './query-tools-error-factory.js';
|
||||
|
||||
describe('query tools error factory', () => {
|
||||
it('builds timeout and failure tools errors', () => {
|
||||
expect(timeoutToolsError('t', 'state', ['load'], '', 10).classification).toEqual({ kind: 'timeout', timeoutMs: 10 });
|
||||
expect(failureToolsError('f', 'state', ['load'], 1).classification).toEqual({ kind: 'failure' });
|
||||
it('builds timeout and failure tools errors via seam factories', () => {
|
||||
const toolsFactory = createQueryToolsErrorFactory();
|
||||
expect(toolsFactory.createTimeoutError('t', 'state', ['load'], '', 10).classification).toEqual({ kind: 'timeout', timeoutMs: 10 });
|
||||
expect(toolsFactory.createFailureError('f', 'state', ['load'], 1, '').classification).toEqual({ kind: 'failure' });
|
||||
});
|
||||
|
||||
it('maps GSDError to failure with semantic exit code', () => {
|
||||
const err = toToolsErrorFromUnknown('state', ['load'], new GSDError('bad', ErrorClassification.Validation));
|
||||
expect(err.exitCode).toBe(10);
|
||||
|
||||
@@ -29,11 +29,11 @@ export interface QueryNativeErrorFactory {
|
||||
createNativeFailureError: (message: string, command: string, args: string[], cause: unknown) => GSDToolsError;
|
||||
}
|
||||
|
||||
export function timeoutToolsError(message: string, command: string, args: string[], stderr = '', timeoutMs?: number): GSDToolsError {
|
||||
function timeoutToolsError(message: string, command: string, args: string[], stderr = '', timeoutMs?: number): GSDToolsError {
|
||||
return GSDToolsError.timeout(message, command, args, stderr, timeoutMs);
|
||||
}
|
||||
|
||||
export function failureToolsError(
|
||||
function failureToolsError(
|
||||
message: string,
|
||||
command: string,
|
||||
args: string[],
|
||||
|
||||
Reference in New Issue
Block a user