
| Module | Tests | What's Verified |
|---|---|---|
| Homepage | Page title, heading | Page loads correctly |
| Templates | 6 templates, selection, switching, unique names | Template picker works end to end |
| Personal Info | All fields, live preview, Add link modal, disabled state | Form fills and reflects in resume |
| Professional Summary | Switch toggle, textarea, preview | Summary section works |
| Work Experience | Dynamic fields, multiple entries, preview | Experience section works |
| Education | Fields, preview | Education section works |
| Skills | Input, preview | Skills section works |
| Download | Back to Edit, PDF download, file verification | Full flow completes |
| Pattern | Where Used |
|---|---|
| Page Object Model | TemplatePage.js |
| Custom Commands | commands.js — fillPersonalInfo, fillSummary |
| Fixtures | credentials.json for login tests |
beforeEach / before |
State management across tests |
cy.within() |
Scoped assertions inside modal |
cy.readFile() |
PDF download verification |
cy.task() |
File deletion before download test |
scrollIntoView() |
Handling elements outside viewport |
aria-checked |
Toggle/switch state verification |
| Dynamic selectors | [name="experience.0.jobTitle"] |
invoke('text') |
Capturing and comparing text values |
.each() |
Looping through all template cards |
have.length |
Count assertions |