feat: add removable reference feature vertical slice
This commit is contained in:
@@ -7,46 +7,48 @@ import { createApplication } from "../../src/application/create-application.js";
|
||||
* preferences?: import("../../src/application/ports/storage-port.js").StoragePort,
|
||||
* diagnostics?: import("../../src/application/ports/telemetry-port.js").TelemetryPort,
|
||||
* releaseInfo?: import("../../src/application/ports/release-info-port.js").ReleaseInfoPort,
|
||||
* navigation?: { reload(): void }
|
||||
* navigation?: { reload(): void },
|
||||
* featureInputs?: Readonly<Record<string, unknown>>
|
||||
* }} [overrides]
|
||||
*/
|
||||
export function createTestApplication(overrides = {}) {
|
||||
return createApplication({
|
||||
session: overrides.session ?? createAnonymousSessionAdapter(),
|
||||
preferences:
|
||||
overrides.preferences ??
|
||||
{
|
||||
read: () => ({ ok: /** @type {const} */ (true), value: "system" }),
|
||||
write: () => ({ ok: /** @type {const} */ (true) }),
|
||||
remove: () => ({ ok: /** @type {const} */ (true) }),
|
||||
},
|
||||
diagnostics: overrides.diagnostics ?? { emit: () => {} },
|
||||
releaseInfo:
|
||||
overrides.releaseInfo ??
|
||||
{
|
||||
getCurrent: async () => ({
|
||||
buildId: "test-build",
|
||||
releaseId: "test-release",
|
||||
configSchemaVersion: "1",
|
||||
apiContractVersion: "1",
|
||||
assetManifestHash: "test-hash",
|
||||
routeChunks: {
|
||||
"route-home": "assets/home.js",
|
||||
"route-sample-resources": "assets/sample.js",
|
||||
},
|
||||
}),
|
||||
refresh: async () => ({
|
||||
buildId: "test-build",
|
||||
releaseId: "test-release",
|
||||
configSchemaVersion: "1",
|
||||
apiContractVersion: "1",
|
||||
assetManifestHash: "test-hash",
|
||||
routeChunks: {
|
||||
"route-home": "assets/home.js",
|
||||
"route-sample-resources": "assets/sample.js",
|
||||
},
|
||||
}),
|
||||
},
|
||||
navigation: overrides.navigation ?? { reload: () => {} },
|
||||
});
|
||||
return createApplication(
|
||||
{
|
||||
session: overrides.session ?? createAnonymousSessionAdapter(),
|
||||
preferences:
|
||||
overrides.preferences ??
|
||||
{
|
||||
read: () => ({ ok: /** @type {const} */ (true), value: "system" }),
|
||||
write: () => ({ ok: /** @type {const} */ (true) }),
|
||||
remove: () => ({ ok: /** @type {const} */ (true) }),
|
||||
},
|
||||
diagnostics: overrides.diagnostics ?? { emit: () => {} },
|
||||
releaseInfo:
|
||||
overrides.releaseInfo ??
|
||||
{
|
||||
getCurrent: async () => ({
|
||||
buildId: "test-build",
|
||||
releaseId: "test-release",
|
||||
configSchemaVersion: "1",
|
||||
apiContractVersion: "1",
|
||||
assetManifestHash: "test-hash",
|
||||
routeChunks: {
|
||||
"route-home": "assets/home.js",
|
||||
},
|
||||
}),
|
||||
refresh: async () => ({
|
||||
buildId: "test-build",
|
||||
releaseId: "test-release",
|
||||
configSchemaVersion: "1",
|
||||
apiContractVersion: "1",
|
||||
assetManifestHash: "test-hash",
|
||||
routeChunks: {
|
||||
"route-home": "assets/home.js",
|
||||
},
|
||||
}),
|
||||
},
|
||||
navigation: overrides.navigation ?? { reload: () => {} },
|
||||
},
|
||||
overrides.featureInputs,
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user