feat: select the TechLog Studio adapter from runtime configuration
Adds TECH_LOG_STUDIO_SOURCE (MOCK | HTTP, default MOCK) to the V2 runtime
config schema so a build can switch createTechLogFeatureInstalledInput
between the mock and HTTP Studio gateways without a rebuild. V1 documents
predate the key and always normalize to MOCK. The HTTP gateway is
constructed with only { operations } per Task 4's actual signature -
no CSRF provider is wired here; that lands with attachCredentials at a
later composition-root task.
Updates every existing Studio test call site to the new required
createTechLogFeatureInstalledInput(context) signature via a shared
tests/helpers/studio-install-context.ts MOCK fixture, so the whole
existing Studio suite keeps exercising the mock adapter unchanged.
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
import type { TechLogInstallContext } from "../../src/features/tech-log/adapters/create-tech-log-feature-input.ts";
|
||||
|
||||
/**
|
||||
* The install context the existing Studio test suite composes against. It
|
||||
* always selects the mock adapter, so `contractOperations` is a throwing stub
|
||||
* — `createTechLogFeatureInstalledInput` never reads it on the MOCK branch.
|
||||
*/
|
||||
export const MOCK_STUDIO_INSTALL_CONTEXT: TechLogInstallContext = Object.freeze({
|
||||
studioSource: "MOCK",
|
||||
contractOperations: Object.freeze({
|
||||
async execute() {
|
||||
throw new Error("contract executor is not used by the mock Studio gateway");
|
||||
},
|
||||
}),
|
||||
});
|
||||
Reference in New Issue
Block a user