Add Playwright e2e coverage and Node 20 pin

This commit is contained in:
chihlasm
2026-03-16 02:28:04 -04:00
parent 357f8e2d08
commit e39819f8d0
27 changed files with 1743 additions and 7 deletions

View File

@@ -89,7 +89,10 @@ export function AppLayout() {
}}
/>
<div className={cn('app-shell relative z-1', sidebarCollapsed && 'app-shell--collapsed')}>
<div
className={cn('app-shell relative z-1', sidebarCollapsed && 'app-shell--collapsed')}
data-testid="app-shell"
>
{/* Top Bar - spans full width */}
<TopBar />

View File

@@ -68,11 +68,11 @@ interface Props {
export function PowerShellHighlighter({ script, className }: Props) {
const parts: React.ReactNode[] = []
let lastIndex = 0
const tokenRegex = new RegExp(TOKEN_REGEX.source, TOKEN_REGEX.flags)
TOKEN_REGEX.lastIndex = 0
let match: RegExpExecArray | null
while ((match = TOKEN_REGEX.exec(script)) !== null) {
while ((match = tokenRegex.exec(script)) !== null) {
if (match.index > lastIndex) {
parts.push(script.slice(lastIndex, match.index))
}

View File

@@ -86,7 +86,7 @@ export function LoginPage() {
</p>
</div>
<form onSubmit={handleSubmit} className="mt-8 space-y-6">
<form onSubmit={handleSubmit} className="mt-8 space-y-6" data-testid="login-form">
<div className="glass-card-static p-6 space-y-4">
{(error || localError) && (
<div className="rounded-[10px] border border-rose-500/20 bg-rose-500/10 p-3 text-sm text-rose-400">
@@ -146,6 +146,7 @@ export function LoginPage() {
<button
type="submit"
disabled={isLoading}
data-testid="login-submit"
className={cn(
'w-full rounded-[10px] px-4 py-2.5 text-sm font-semibold',
'bg-gradient-brand text-brand-dark shadow-lg shadow-primary/20 hover:opacity-90 active:scale-[0.97]',