mirror of
https://github.com/morluto/rea
synced 2026-10-26 22:28:27 -04:00
4fbc501121
* fix(hopper): normalize string-backed addresses and update verification * feat(native): add inspection primitives, dispatch traces and approved UI observation * test: prioritize real artifact E2E and captured golden regressions * fix(process): queue observed output before reactive rendering actions * test: prune redundant cases and strengthen boundary assertions * fix(cli): route native value tracing through shared workflows * test: replace synthetic success with real workflows and captured data * fix(catalog): separate portable metadata from native host availability
32 lines
1.1 KiB
TypeScript
32 lines
1.1 KiB
TypeScript
import { describe, expect, it } from "vitest";
|
|
|
|
import {
|
|
setupInstallFailure,
|
|
type HopperInstallFailureReason,
|
|
} from "./SetupInstallFailure.js";
|
|
|
|
describe("setup installer failure projection", () => {
|
|
it.each([
|
|
["unsupported_host", "unsupported_host"],
|
|
["download", "download_failed"],
|
|
["release_metadata", "download_failed"],
|
|
["integrity", "integrity_mismatch"],
|
|
[
|
|
"authorization_or_package_manager",
|
|
"authorization_or_package_manager_failed",
|
|
],
|
|
["launcher_missing", "launcher_missing"],
|
|
["runtime_dependencies", "runtime_dependency_unavailable"],
|
|
["unsupported_hopper_build", "unsupported_hopper_build"],
|
|
["cancelled", "setup_cancelled"],
|
|
["destination_exists", "destination_exists"],
|
|
["mount", "mount_failed"],
|
|
["bundle", "bundle_invalid"],
|
|
["copy", "copy_failed"],
|
|
] as const)("maps %s to %s", (reason, code) => {
|
|
const result = setupInstallFailure(reason as HopperInstallFailureReason);
|
|
expect(result).toMatchObject({ status: "failed", code });
|
|
expect(result).toMatchObject({ remediation: expect.stringMatching(/\S/u) });
|
|
});
|
|
});
|