Add project files

This commit is contained in:
Kunthawat Greethong
2025-12-05 09:26:53 +07:00
parent 3b43cb52ef
commit 11986a0196
814 changed files with 141076 additions and 1 deletions

62
e2e-tests/env_var.spec.ts Normal file
View File

@@ -0,0 +1,62 @@
import { expect } from "@playwright/test";
import { test } from "./helpers/test_helper";
import path from "path";
import fs from "fs";
test("env var", async ({ po }) => {
await po.sendPrompt("tc=1");
const appPath = await po.getCurrentAppPath();
await po.selectPreviewMode("configure");
// Create a new env var
await po.page
.getByRole("button", { name: "Add Environment Variable" })
.click();
await po.page.getByRole("textbox", { name: "Key" }).click();
await po.page.getByRole("textbox", { name: "Key" }).fill("aKey");
await po.page.getByRole("textbox", { name: "Value" }).click();
await po.page.getByRole("textbox", { name: "Value" }).fill("aValue");
await po.page.getByRole("button", { name: "Save" }).click();
await snapshotEnvVar({ appPath, name: "create-aKey" });
// Create second env var
await po.page
.getByRole("button", { name: "Add Environment Variable" })
.click();
await po.page.getByRole("textbox", { name: "Key" }).click();
await po.page.getByRole("textbox", { name: "Key" }).fill("bKey");
await po.page.getByRole("textbox", { name: "Value" }).click();
await po.page.getByRole("textbox", { name: "Value" }).fill("bValue");
await po.page.getByRole("button", { name: "Save" }).click();
await snapshotEnvVar({ appPath, name: "create-bKey" });
// Edit second env var
await po.page.getByTestId("edit-env-var-bKey").click();
await po.page.getByRole("textbox", { name: "Value" }).click();
await po.page.getByRole("textbox", { name: "Value" }).fill("bValue2");
await po.page.getByTestId("save-edit-env-var").click();
await snapshotEnvVar({ appPath, name: "edit-bKey" });
// Delete first env var
await po.page.getByTestId("delete-env-var-aKey").click();
await snapshotEnvVar({ appPath, name: "delete-aKey" });
});
async function snapshotEnvVar({
appPath,
name,
}: {
appPath: string;
name: string;
}) {
expect(() => {
const envFile = path.join(appPath, ".env.local");
const envFileContent = fs.readFileSync(envFile, "utf8");
expect(envFileContent).toMatchSnapshot({ name });
}).toPass();
}