59 lines
2.0 KiB
TypeScript
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)
|
|
})
|
|
})
|