/** * Pure-function tests for shouldConfirmWrite. * No DOM render needed — these run in node env. */ import { describe, it, expect } from 'vitest'; import { shouldConfirmWrite } from './app-bridge'; describe('shouldConfirmWrite', () => { it('returns false when autoApprove=true (always bypass confirm)', () => { // Even a path that would normally require confirm is bypassed. expect(shouldConfirmWrite('my-app', 'some/arbitrary/file.txt', true)).toBe(false); }); it('returns false when path is under output/ (allowlisted, no confirm needed)', () => { expect(shouldConfirmWrite('my-app', 'output/report.csv', false)).toBe(false); }); it('returns true when autoApprove=false and path is NOT allowlisted', () => { // A path not under output/ or apps/{appName}/data/ must trigger a confirm. expect(shouldConfirmWrite('my-app', 'some/arbitrary/file.txt', false)).toBe(true); }); });