guanghu/e2e/keyboard-shortcuts.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

44 lines
1.3 KiB
TypeScript

import { test, expect } from '@playwright/test'
test('Cmd+N opens create note dialog', async ({ page }) => {
await page.goto('/')
await page.waitForTimeout(500)
await page.keyboard.press('Meta+n')
await page.waitForTimeout(200)
await expect(page.locator('.create-dialog')).toBeVisible()
await expect(page.locator('.create-dialog__title')).toHaveText('Create New Note')
})
test('Cmd+S shows save toast', async ({ page }) => {
await page.goto('/')
await page.waitForTimeout(500)
await page.keyboard.press('Meta+s')
await page.waitForTimeout(200)
await expect(page.locator('.toast')).toBeVisible()
await expect(page.locator('.toast')).toHaveText('Saved')
await page.screenshot({ path: 'test-results/save-toast.png', fullPage: true })
})
test('Cmd+W closes the active tab', async ({ page }) => {
await page.goto('/')
await page.waitForTimeout(500)
// Open a note
await page.click('.note-list__item')
await page.waitForTimeout(300)
await expect(page.locator('.editor__tab--active')).toBeVisible()
// Close it with Cmd+W
await page.keyboard.press('Meta+w')
await page.waitForTimeout(300)
// Tab should be gone, placeholder should show
await expect(page.locator('.editor__tab')).not.toBeVisible()
await expect(page.locator('.editor__placeholder')).toBeVisible()
})