guanghu/tests/smoke/telemetry-consent.spec.ts
冰朔 8739805f99
Some checks failed
Auto-update PR branches / Update open PR branches (push) Has been cancelled
CI / Frontend Static Quality Checks (push) Has been cancelled
CI / Frontend Tests & Coverage (push) Has been cancelled
CI / Rust Tests & Quality Checks (push) Has been cancelled
CI / Linux build verification (push) Has been cancelled
Release (Alpha) / Compute alpha version (push) Has been cancelled
Release (Alpha) / Build release artifacts (push) Has been cancelled
Release (Alpha) / GitHub Release (alpha) (push) Has been cancelled
Release (Alpha) / Update docs and release pages (push) Has been cancelled
Deploy docs / Build VitePress site (push) Has been cancelled
Deploy docs / Deploy to GitHub Pages (push) Has been cancelled
光湖开源源码快照 · Tolaria AGPL 分叉基线 · 独立更新链
2026-07-05 17:45:16 +08:00

26 lines
1.0 KiB
TypeScript

import { test, expect } from '@playwright/test'
test.describe('Telemetry consent dialog', () => {
test('dialog does not appear when consent was already given', async ({ page }) => {
// Default mock settings have telemetry_consent: false
// The consent dialog should NOT appear (only appears when null)
await page.goto('/')
await page.waitForLoadState('networkidle')
await expect(page.getByText('Help improve Tolaria')).not.toBeVisible({ timeout: 5000 })
})
test('privacy toggles are visible in settings panel', async ({ page }) => {
await page.goto('/')
await page.waitForLoadState('networkidle')
// Open settings via keyboard shortcut
await page.keyboard.press('Meta+,')
await expect(page.getByTestId('settings-panel')).toBeVisible({ timeout: 5000 })
// Privacy section should be present
await expect(page.getByText('Privacy & Telemetry')).toBeVisible()
await expect(page.getByTestId('settings-crash-reporting')).toBeVisible()
await expect(page.getByTestId('settings-analytics')).toBeVisible()
})
})