fix(visual): KPITile data-testid + restore residential interest casing

Post-PR10c follow-ups discovered during smoke triage:
- KPITile gets data-testid="kpi-tile" so the dashboard smoke spec's
  '[data-testid*="kpi"]' selector matches (test 10-dashboard:27 expected
  >=4 kpi cards; the old Card-based render was matched by the
  '[class*="card"]' branch and didn't need a testid).
- Residential interest detail eyebrow text reverted from "Residential
  Interest" to "Residential interest" (lowercase i). The visual is
  identical because the wrapper has the `uppercase` class; the smoke
  spec at 26-residential:140 looks for the literal lowercase string.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Matt Ciaccio
2026-04-28 12:56:32 +02:00
parent 3a7fef59b0
commit 4911083d0f
2 changed files with 3 additions and 2 deletions

View File

@@ -87,9 +87,9 @@ export function ResidentialInterestDetail({ interestId }: { interestId: string }
</Link>
</div>
<div className="rounded-xl border border-slate-200 bg-gradient-brand-soft px-5 py-4 shadow-xs">
<div className="rounded-xl border border-border bg-gradient-brand-soft px-5 py-4 shadow-xs">
<p className="text-xs uppercase font-semibold tracking-wide text-brand">
Residential Interest
Residential interest
</p>
{interest.client && (
<h1 className="mt-1 truncate text-2xl font-bold tracking-tight text-foreground">

View File

@@ -43,6 +43,7 @@ export function KPITile({
return (
<div
data-testid="kpi-tile"
className={cn(
'group relative overflow-hidden rounded-xl border border-border bg-gradient-brand-soft p-5 shadow-sm transition-all duration-base ease-smooth hover:shadow-md',
className,