mirror of
https://github.com/dreamhunter2333/cloudflare_temp_email.git
synced 2026-08-28 19:48:01 +08:00
* feat: show D1 storage usage in admin * test: add D1 storage E2E coverage * test: use exact D1 storage labels
38 lines
1.5 KiB
TypeScript
38 lines
1.5 KiB
TypeScript
import { expect, test } from '@playwright/test';
|
|
import { FRONTEND_URL, WORKER_URL } from '../../fixtures/test-helpers';
|
|
|
|
const ADMIN_HEADERS = { 'x-admin-auth': 'e2e-admin-pass' };
|
|
|
|
test('persists the selected D1 plan and restores it after reload', async ({ page, request }) => {
|
|
const seedResponse = await request.post(`${WORKER_URL}/admin/config`, {
|
|
headers: ADMIN_HEADERS,
|
|
data: { key: 'd1_storage_plan', value: 'free' },
|
|
});
|
|
expect(seedResponse.ok()).toBe(true);
|
|
|
|
await page.addInitScript(() => {
|
|
localStorage.setItem('adminAuth', 'e2e-admin-pass');
|
|
sessionStorage.setItem('adminTab', 'qucickSetup');
|
|
});
|
|
await page.goto(`${FRONTEND_URL}/en/admin`);
|
|
|
|
const storagePanel = page.locator('.storage-panel');
|
|
const planSelect = storagePanel.locator('.plan-select .n-select');
|
|
|
|
await expect(storagePanel.getByText('Current Database Size', { exact: true })).toBeVisible();
|
|
await expect(storagePanel.getByText('Database Capacity Limit', { exact: true })).toBeVisible();
|
|
await expect(storagePanel.getByText('Capacity Usage', { exact: true })).toBeVisible();
|
|
await expect(planSelect).toContainText('Free');
|
|
|
|
await planSelect.click();
|
|
await page.locator('.n-base-select-option').filter({ hasText: 'Workers Paid' }).click();
|
|
|
|
await expect(page.getByText('Workers plan saved')).toBeVisible();
|
|
await expect(storagePanel).toContainText('10.0 GB');
|
|
|
|
await page.reload();
|
|
|
|
await expect(planSelect).toContainText('Workers Paid');
|
|
await expect(storagePanel).toContainText('10.0 GB');
|
|
});
|