feat: add Playwright E2E testing setup with POM and testids

- Install @playwright/test and Chromium browser
- Create playwright.config.ts with dev server integration
- Add data-testid attributes to LoginPage, DashboardPage, ServerCard, Sidebar
- Exclude tests-e2e from vitest config
- Create Page Object Models: LoginPage, DashboardPage
- Add 18 E2E tests: 6 login flow, 12 dashboard (happy, empty, error states)
- Add test:e2e and test:e2e:ui scripts to package.json
This commit is contained in:
Tran G. (Revernomad) Khoa
2026-04-17 00:01:11 +07:00
parent 88424675b5
commit 620429c9b8
12 changed files with 471 additions and 11 deletions

View File

@@ -11,7 +11,7 @@ export function Sidebar() {
const activeId = serverId ? parseInt(serverId) : null;
return (
<nav className="w-64 h-screen bg-surface-base border-r border-surface-raised flex flex-col">
<nav className="w-64 h-screen bg-surface-base border-r border-surface-raised flex flex-col" data-testid="sidebar">
<div className="px-6 py-5 border-b border-surface-raised">
<h1 className="text-text-primary font-bold text-lg tracking-tight">
<span className="text-accent">Languard</span>