chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import { describe, expect, it } from "vitest";
|
||||
import { validateProductionEntitlement } from "~/runEngine/validators/validateProductionEntitlement.server";
|
||||
|
||||
const productionEnv = {
|
||||
type: "PRODUCTION" as const,
|
||||
organizationId: "org_123",
|
||||
};
|
||||
|
||||
const developmentEnv = {
|
||||
type: "DEVELOPMENT" as const,
|
||||
organizationId: "org_123",
|
||||
};
|
||||
|
||||
describe("validateProductionEntitlement", () => {
|
||||
it("allows development environments without checking entitlement", async () => {
|
||||
const result = await validateProductionEntitlement(
|
||||
{ environment: developmentEnv as never },
|
||||
async () => ({ hasAccess: false, reason: "billing_limit" })
|
||||
);
|
||||
|
||||
expect(result).toEqual({ ok: true });
|
||||
});
|
||||
|
||||
it("rejects production triggers when entitlement has billing_limit denial", async () => {
|
||||
const result = await validateProductionEntitlement(
|
||||
{ environment: productionEnv as never },
|
||||
async () => ({
|
||||
hasAccess: false,
|
||||
reason: "billing_limit",
|
||||
plan: { type: "paid", code: "pro", isPaying: true },
|
||||
})
|
||||
);
|
||||
|
||||
expect(result.ok).toBe(false);
|
||||
if (!result.ok) {
|
||||
expect(result.error.name).toBe("OutOfEntitlementError");
|
||||
}
|
||||
});
|
||||
|
||||
it("allows production triggers when entitlement grants access", async () => {
|
||||
const plan = { type: "paid" as const, code: "pro", isPaying: true };
|
||||
|
||||
const result = await validateProductionEntitlement(
|
||||
{ environment: productionEnv as never },
|
||||
async () => ({
|
||||
hasAccess: true,
|
||||
plan,
|
||||
})
|
||||
);
|
||||
|
||||
expect(result).toEqual({ ok: true, plan });
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user