بنقرة واحدة
e2e
Playwright E2E testing patterns. Use when working on files in tests/e2e/.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Playwright E2E testing patterns. Use when working on files in tests/e2e/.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
UI component patterns for React 19, shadcn/ui, and Tailwind. Use when working on files in src/components/.
Loro CRDT state management with loro-mirror. Use when working on files in src/lib/crdt/.
CSV and OFX transaction import parsing. Use when working on files in src/lib/import/.
Real-time sync with Supabase, Loro CRDT, and IndexedDB. Use when working on files in src/lib/sync/.
tRPC v11 API layer with Zod and Ed25519 auth. Use when working on files in src/server/.
Client-side cryptography with libsodium. Use when working on files in src/lib/crypto/.
| name | e2e |
| description | Playwright E2E testing patterns. Use when working on files in tests/e2e/. |
test.step() to existing tests over creating new tests - keeps suite
fast and avoids duplicating slow setup flowspnpm playwright test --reporter=line --max-failures=1 2>&1
pnpm playwright test --workers=4 --repeat-each=5 --reporter=line 2>&1 # flaky detection
NEVER use --debug or --ui - opens GUI, blocks forever. This is a common mistake.
getByRole()getByTestId()getByLabel()getByText(/regex/i)beforeEach, don't depend on prior test statetoBeEnabled(), not waitForTimeout()Import from tests/e2e/helpers/:
createNewIdentity(page) - full new user flowgoToTransactions(page), goToTags(page), etc.Create helpers for multi-step reused flows. Don't wrap single Playwright calls.
test.describe("Feature", () => {
test.beforeEach(async ({ page }) => {
await createNewIdentity(page);
await goToFeature(page);
});
test("should do thing", async ({ page }) => {
// Arrange → Act → Assert
});
});