项目文件夹

文件
2026-06-14 14:40:49 +08:00

38 行
1.3 KiB
TypeScript

import { login, registerUser } from "../../fixtures/apiClient.js";
import { env } from "../../fixtures/env.js";
import { test, expect } from "../../fixtures/test.js";
import { users } from "../../fixtures/users.js";
test("@p0 unauthenticated admin route redirects to login", async ({ page }) => {
await page.goto("/admin/runtime-pods");
await expect(page).toHaveURL(/\/login$/);
});
test("@p0 @local-only non-admin user cannot open admin routes", async ({ page, request }) => {
await registerUser(request, users.user);
const tokens = await login(request, users.user);
await page.addInitScript(
({ accessToken, refreshToken }) => {
window.localStorage.setItem("access_token", accessToken);
window.localStorage.setItem("refresh_token", refreshToken);
},
{ accessToken: tokens.access_token, refreshToken: tokens.refresh_token }
);
await page.goto(`${env.frontendUrl}/admin/runtime-pods`);
await expect(page).toHaveURL(/\/dashboard$/);
});
test.describe("admin access", () => {
test.use({ storageState: users.admin.storageState });
test("@p0 admin can open runtime pods route", async ({ page }) => {
await page.goto("/admin/runtime-pods");
await expect(page.getByRole("heading", { name: /^runtime$/i })).toBeVisible();
});
});