| import { describe, expect, test } from 'bun:test' |
| import { getAutoFixConfig } from './autoFixConfig.js' |
| import { shouldRunAutoFix, buildAutoFixContext } from './autoFixHook.js' |
| import { runAutoFixCheck } from './autoFixRunner.js' |
|
|
| describe('autoFix end-to-end flow', () => { |
| test('full flow: config → shouldRun → check → context', async () => { |
| const config = getAutoFixConfig({ |
| enabled: true, |
| lint: 'echo "error: unused" && exit 1', |
| maxRetries: 2, |
| timeout: 5000, |
| }) |
| expect(config).not.toBeNull() |
| expect(shouldRunAutoFix('file_edit', config)).toBe(true) |
|
|
| const result = await runAutoFixCheck({ |
| lint: config!.lint, |
| test: config!.test, |
| timeout: config!.timeout, |
|
|
| cwd: '/tmp', |
| }) |
| expect(result.hasErrors).toBe(true) |
|
|
| const context = buildAutoFixContext(result) |
| expect(context).not.toBeNull() |
| expect(context).toContain('AUTO-FIX') |
| expect(context).toContain('unused') |
| }) |
|
|
| test('full flow: no errors = no context', async () => { |
| const config = getAutoFixConfig({ |
| enabled: true, |
| lint: 'echo "all clean"', |
| timeout: 5000, |
| }) |
| const result = await runAutoFixCheck({ |
| lint: config!.lint, |
| timeout: config!.timeout, |
|
|
| cwd: '/tmp', |
| }) |
| expect(result.hasErrors).toBe(false) |
| const context = buildAutoFixContext(result) |
| expect(context).toBeNull() |
| }) |
| }) |
|
|