t3-code-android-nightly/.repos/alchemy-effect/packages/alchemy/test/Railway/ServiceRegion.test.ts
Julius Marminge 6f9cea00ae
chore(refs): sync Effect and Alchemy references to 4.0.1 and beta.80 (#16170)
Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-05 13:22:30 -07:00

71 lines
2 KiB
TypeScript

import {
activeReplicaRegions,
observedRegion,
regionPlacementPatch,
serviceRegionPlacement,
} from "@/Railway/ServiceRegion.ts";
import { describe, expect, it } from "alchemy-test";
describe("Railway service region placement", () => {
it("reads deploy.multiRegionConfig and ignores the legacy region field", () => {
const placement = serviceRegionPlacement(
{
services: {
api: {
deploy: {
region: "us-west2",
multiRegionConfig: {
"asia-southeast1-eqsg3a": { numReplicas: 1 },
"europe-west4-drams3a": null,
},
},
},
},
},
"api",
);
expect(activeReplicaRegions(placement)).toEqual([
{ region: "asia-southeast1-eqsg3a", replicas: 1 },
]);
expect(observedRegion(placement, null)).toEqual("asia-southeast1-eqsg3a");
});
it("moves the workspace default onto the requested region", () => {
const placement = {
"asia-southeast1-eqsg3a": { numReplicas: 1 },
};
expect(regionPlacementPatch("europe-west4-drams3a", placement)).toEqual({
"europe-west4-drams3a": { numReplicas: 1 },
"asia-southeast1-eqsg3a": null,
});
});
it("keeps an existing replica count on the target region", () => {
expect(
regionPlacementPatch("us-west2", {
"us-west2": { numReplicas: 3 },
"us-east4-eqdc4a": { numReplicas: 1 },
}),
).toEqual({
"us-west2": { numReplicas: 3 },
"us-east4-eqdc4a": null,
});
});
it("leaves a service that is already only in the requested region", () => {
expect(
regionPlacementPatch("us-west2", {
"us-west2": { numReplicas: 2 },
"europe-west4-drams3a": null,
}),
).toBeUndefined();
});
it("uses the legacy replica count when placement is empty", () => {
expect(regionPlacementPatch("us-west2", {}, 4)).toEqual({
"us-west2": { numReplicas: 4 },
});
});
});