guanghu/tests/smoke/repair-vault-no-legacy-dirs.spec.ts
Guanghu Domestic Migration 9b41d51231
Some checks are pending
Auto-update PR branches / Update open PR branches (push) Waiting to run
CI / Frontend Static Quality Checks (push) Waiting to run
CI / Frontend Tests & Coverage (push) Waiting to run
CI / Rust Tests & Quality Checks (push) Waiting to run
CI / Linux build verification (push) Waiting to run
Deploy docs / Build VitePress site (push) Waiting to run
Deploy docs / Deploy to GitHub Pages (push) Blocked by required conditions
Release (Alpha) / Compute alpha version (push) Waiting to run
Release (Alpha) / Build release artifacts (push) Blocked by required conditions
Release (Alpha) / GitHub Release (alpha) (push) Blocked by required conditions
Release (Alpha) / Update docs and release pages (push) Blocked by required conditions
chore: import sanitized domestic snapshot for REPO-004
Source snapshot: 514ab1975951d94342ea38e64101d5a0f1c51c77
2026-07-17 15:55:28 +08:00

59 lines
2.0 KiB
TypeScript

import { test, expect } from '@playwright/test'
test.describe('Repair Vault — no legacy dirs, seed type definitions at root', () => {
test.beforeEach(async ({ page }) => {
await page.goto('/')
await page.waitForLoadState('networkidle')
})
test('repair vault does not create _themes/ directory', async ({ page }) => {
const errors: string[] = []
page.on('console', msg => {
if (msg.type() === 'error') errors.push(msg.text())
})
// Open command palette and run Repair Vault
await page.keyboard.press('Meta+k')
await page.waitForTimeout(300)
await page.keyboard.type('repair vault')
await page.waitForTimeout(300)
await page.keyboard.press('Enter')
await page.waitForTimeout(1000)
// No console errors related to repair_vault or _themes
const repairErrors = errors.filter(e => e.includes('repair_vault') || e.includes('_themes'))
expect(repairErrors).toHaveLength(0)
})
test('repair vault shows success toast', async ({ page }) => {
// Open command palette and run Repair Vault
await page.keyboard.press('Meta+k')
await page.waitForTimeout(300)
await page.keyboard.type('repair vault')
await page.waitForTimeout(300)
await page.keyboard.press('Enter')
await page.waitForTimeout(1000)
// Toast message should appear confirming success
const toast = page.locator('[class*="toast"], [role="status"]')
await expect(toast.first()).toBeVisible({ timeout: 3000 })
})
test('app loads without creating _themes/ or config/ directories', async ({ page }) => {
const main = page.locator('#root')
await expect(main).toBeVisible()
const errors: string[] = []
page.on('console', msg => {
if (msg.type() === 'error') errors.push(msg.text())
})
await page.waitForTimeout(1000)
// No errors about legacy directories
const legacyErrors = errors.filter(
e => e.includes('_themes') || e.includes('config/'),
)
expect(legacyErrors).toHaveLength(0)
})
})