import type { ManagementGateway } from "../../src/features/tech-log/application/ports/management-gateway.ts"; /** * Studio 화면 테스트가 `StudioProvider` 를 렌더할 때 필요한 최소 관리 게이트웨이. * *

기본값은 "아무것도 없음" 이다. 이 하네스들은 문서·Asset 흐름을 검증하지 아니 주제·프로젝트 * 관리를 검증하지 않으므로, 호출되면 빈 목록을 주고 쓰기는 거부한다 — 조용히 성공시키면 관리 * 표면을 실수로 건드리는 테스트가 통과해 버린다. */ export function createManagementGatewayStub( overrides: Partial = {}, ): ManagementGateway { const unused = (name: string) => async (): Promise => { throw new Error(`management gateway ${name} was not stubbed for this test`); }; return Object.freeze({ listTopics: async () => [], listProjects: async () => ({ items: [], page: {} }) as never, createTopic: unused("createTopic"), updateTopic: unused("updateTopic"), deleteTopic: unused("deleteTopic"), getProject: unused("getProject"), createProject: unused("createProject"), updateProject: unused("updateProject"), deleteProject: unused("deleteProject"), ...overrides, }) as ManagementGateway; }