Hire-me image loads (/hire-me.png or /hire-me-light.png based on theme)
Role text rotates (wait 2s, verify text changes via AnimatePresence)
Bio Modal (bio-modal.spec.ts)
Click "Explore More" → modal appears
Modal header shows bio title
Intro paragraph visible
Expertise section renders (title + content)
Highlights section renders (list items)
Education section renders
Current focus text visible
Close button (X icon) closes modal
Click outside modal backdrop closes modal
Modal has scroll for overflow content (max-h-96 overflow-y-auto)
ESC key behavior (if implemented — verify)
Selectors Strategy
// Hero
page.locator('h1')page.locator('button:has-text("Explore")')page.locator('img[alt="Profile"]')page.locator('img[alt*="hire"]')// Bio Modal
page.locator('.fixed.inset-0')// backdrop
page.locator('h2:has-text("Bio")')// modal title
page.locator('button:has(svg)')// X close button in modal header
Acceptance
All hero elements render within 5s
Bio modal open/close cycle works 3 consecutive times without flake
Role rotation verified (at least 2 different roles observed)
## Parent
Ref: #5
Depends on: #6
## Objective
Test hero section rendering, animations, and bio modal interaction flow.
## Components Under Test
- `app/page.tsx` — Hero section, bio modal
- `components/HeroBlobFlow.tsx` — Avatar, rotating role text, hire-me image
- `lib/LanguageContext.tsx` — `t.hero.*`, `t.bio.*` translations
## Test Cases
### Hero Section (`main-page.spec.ts`)
- [ ] Page loads successfully (status 200)
- [ ] `<h1>` title renders with correct text
- [ ] Subtitle text visible
- [ ] Description paragraph visible
- [ ] "Explore More" button visible and clickable
- [ ] Terminal hint text visible (mentions Cmd+K)
- [ ] Avatar image loads (`/avatar.jpeg`)
- [ ] Hire-me image loads (`/hire-me.png` or `/hire-me-light.png` based on theme)
- [ ] Role text rotates (wait 2s, verify text changes via `AnimatePresence`)
### Bio Modal (`bio-modal.spec.ts`)
- [ ] Click "Explore More" → modal appears
- [ ] Modal header shows bio title
- [ ] Intro paragraph visible
- [ ] Expertise section renders (title + content)
- [ ] Highlights section renders (list items)
- [ ] Education section renders
- [ ] Current focus text visible
- [ ] Close button (X icon) closes modal
- [ ] Click outside modal backdrop closes modal
- [ ] Modal has scroll for overflow content (`max-h-96 overflow-y-auto`)
- [ ] ESC key behavior (if implemented — verify)
## Selectors Strategy
```ts
// Hero
page.locator('h1')
page.locator('button:has-text("Explore")')
page.locator('img[alt="Profile"]')
page.locator('img[alt*="hire"]')
// Bio Modal
page.locator('.fixed.inset-0') // backdrop
page.locator('h2:has-text("Bio")') // modal title
page.locator('button:has(svg)') // X close button in modal header
```
## Acceptance
- All hero elements render within 5s
- Bio modal open/close cycle works 3 consecutive times without flake
- Role rotation verified (at least 2 different roles observed)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Parent
Ref: #5
Depends on: #6
Objective
Test hero section rendering, animations, and bio modal interaction flow.
Components Under Test
app/page.tsx— Hero section, bio modalcomponents/HeroBlobFlow.tsx— Avatar, rotating role text, hire-me imagelib/LanguageContext.tsx—t.hero.*,t.bio.*translationsTest Cases
Hero Section (
main-page.spec.ts)<h1>title renders with correct text/avatar.jpeg)/hire-me.pngor/hire-me-light.pngbased on theme)AnimatePresence)Bio Modal (
bio-modal.spec.ts)max-h-96 overflow-y-auto)Selectors Strategy
Acceptance