Installation
CI / ci (push) Canceled after 0s

install token now shown in dashboard until install completes.
This commit is contained in:
Stefan Lazic committed 2026-09-06 20:14:25 +01:00
1 parent d7a8b15482
commit e9e28a243f
18 files changed
+1977 -15

No files matched your search

@@ -0,0 +1,37 @@
import { describe, expect, it } from "vitest";
import { generateBusinessEnv, type BusinessEnvValues } from "../compose-template";
const baseValues: BusinessEnvValues = {
name: "Acme Barbers",
domain: "acme.example.com",
databaseName: "acme",
databaseUser: "acme",
databasePassword: "db-password",
authSecret: "auth-secret",
installationToken: "the-installation-token-value",
cronSecret: "cron-secret",
};
describe("generateBusinessEnv — INSTALLATION_TOKEN", () => {
it("writes the given installation token into the generated .env", () => {
const env = generateBusinessEnv(baseValues);
expect(env).toContain('INSTALLATION_TOKEN="the-installation-token-value"');
});
it("never writes the token in a NEXT_PUBLIC_* (build-time-inlined) variable", () => {
const env = generateBusinessEnv(baseValues);
const publicLines = env.split("\n").filter((line) => line.startsWith("NEXT_PUBLIC_"));
for (const line of publicLines) {
expect(line).not.toContain("the-installation-token-value");
}
});
it("is the only place a business's INSTALLATION_TOKEN gets written — every business gets a distinct token if given one", () => {
const envA = generateBusinessEnv({ ...baseValues, installationToken: "token-a" });
const envB = generateBusinessEnv({ ...baseValues, domain: "other.example.com", installationToken: "token-b" });
expect(envA).toContain('INSTALLATION_TOKEN="token-a"');
expect(envB).toContain('INSTALLATION_TOKEN="token-b"');
expect(envA).not.toContain("token-b");
expect(envB).not.toContain("token-a");
});
});