-
Notifications
You must be signed in to change notification settings - Fork 1
fix: add aria-label to Newsletter input and nav links for FAQ/Testimonials #198
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
shazzar00ni
wants to merge
2
commits into
main
Choose a base branch
from
fix/e2e-test-failures
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
2 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,262 @@ | ||
| # E2E Test Report - DocuGen Feature Testing | ||
|
|
||
| **Date:** 2026-04-24 | ||
| **Environment:** Chromium (Desktop Chrome) | ||
| **Total Tests:** 31 | ||
|
|
||
| --- | ||
|
|
||
| ## Summary | ||
|
|
||
| | Status | Count | Percentage | | ||
| | ---------- | ----- | ---------- | | ||
| | **Passed** | 10 | 32% | | ||
| | **Failed** | 21 | 68% | | ||
|
|
||
| --- | ||
|
|
||
| ## Feature Test Reports | ||
|
|
||
| ### Feature 1: Landing Page Core Sections | ||
|
|
||
| - **Test:** `loads landing page and core sections` | ||
| - **Status:** ✅ PASSED | ||
| - **Duration:** 2.1s | ||
| - **Findings:** Landing page loads correctly with hero, navigation, and main sections visible. | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 2: Anchor Link Navigation | ||
|
|
||
| - **Test:** `navigate via anchor links` | ||
| - **Status:** ✅ PASSED | ||
| - **Duration:** 2.1s | ||
| - **Findings:** Navigation links scroll to correct anchor sections (#features, #how-it-works). | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 3: Newsletter Form (Valid Email) | ||
|
|
||
| - **Test:** `newsletter form shows success on valid email` | ||
| - **Status:** ❌ FAILED | ||
| - **Duration:** 30.7s (timeout) | ||
| - **Error:** `locator.fill: Test timeout of 30000ms exceeded. waiting for getByLabel(/email/i)` | ||
| - **Root Cause:** Email input field not found - likely the Newsletter component doesn't have a proper `aria-label` or placeholder matching `/email/i` | ||
| - **Recommendation:** Check Newsletter component for correct input identification | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 4: Newsletter Form (Invalid Email Validation) | ||
|
|
||
| - **Test:** `newsletter form shows error on invalid email` | ||
| - **Status:** ❌ FAILED | ||
| - **Duration:** 30.2s (timeout) | ||
| - **Error:** `locator.fill: Test timeout of 30000ms exceeded. waiting for getByLabel(/email/i)` | ||
| - **Root Cause:** Same as Feature 3 - email input field not found | ||
| - **Recommendation:** Check Newsletter component for correct input identification | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 5: Newsletter Form (Empty Submit) | ||
|
|
||
| - **Test:** `newsletter form shows error on empty submit` | ||
| - **Status:** ❌ FAILED | ||
| - **Duration:** 1.5s | ||
| - **Error:** `strict mode violation: getByRole('button', { name: /early access/i }) resolved to 2 elements` | ||
| - **Root Cause:** Multiple "Get Early Access" buttons exist on page (navbar + main CTA) | ||
| - **Recommendation:** Make test selector more specific to target only the newsletter form button | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 6: Pricing Section | ||
|
|
||
| - **Test:** `pricing section renders` | ||
| - **Status:** ✅ PASSED | ||
| - **Duration:** 3.1s | ||
| - **Findings:** Pricing section renders correctly and navigation to #pricing works. | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 7: Testimonials Section | ||
|
|
||
| - **Test:** `testimonials section renders` | ||
| - **Status:** ❌ FAILED | ||
| - **Duration:** 32.0s (timeout) | ||
| - **Error:** `locator.click: Test timeout of 30000ms exceeded. waiting for getByRole('link', { name: /testimonials/i })` | ||
| - **Root Cause:** Testimonials navigation link not found in navigation | ||
| - **Recommendation:** Verify if Testimonials section link exists in navbar navigation | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 8: FAQ Accordion | ||
|
|
||
| - **Test:** `faq accordion expands and collapses` | ||
| - **Status:** ❌ FAILED | ||
| - **Duration:** 32.0s (timeout) | ||
| - **Error:** `locator.click: Test timeout of 30000ms exceeded. waiting for getByRole('link', { name: /faq/i })` | ||
| - **Root Cause:** FAQ navigation link not found in navigation | ||
| - **Recommendation:** Verify if FAQ section link exists in navbar navigation | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 9: Mobile Menu | ||
|
|
||
| - **Test:** `mobile menu opens and closes` | ||
| - **Status:** ❌ FAILED | ||
| - **Duration:** 3.3s | ||
| - **Error:** `strict mode violation: getByRole('link', { name: /features/i }) resolved to 2 elements` | ||
| - **Root Cause:** Feature link exists in both desktop nav and mobile menu - test needs more specific selector | ||
| - **Recommendation:** Use `.first()` or more specific selector to target mobile menu links | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 10: Scroll-to-Top Button | ||
|
|
||
| - **Test:** `scroll-to-top button appears on scroll` | ||
| - **Status:** ❌ FAILED | ||
| - **Duration:** 6.4s | ||
| - **Error:** `strict mode violation: getByRole('heading', { name: /your docs/i }) resolved to 3 elements` | ||
| - **Root Cause:** Multiple headings match the selector | ||
| - **Recommendation:** Use `.first()` or more specific selector for hero heading | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 11: Dark/Light Mode Toggle | ||
|
|
||
| - **Test:** `dark/light mode toggle works` | ||
| - **Status:** ✅ PASSED | ||
| - **Duration:** 2.9s | ||
| - **Findings:** Theme toggle works correctly, switching between dark and light modes. | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 12: Theme Persistence | ||
|
|
||
| - **Test:** `theme persists after reload` | ||
| - **Status:** ✅ PASSED | ||
| - **Duration:** 2.4s | ||
| - **Findings:** Theme preference persists correctly after page reload (localStorage). | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 13: Upload Demo | ||
|
|
||
| - **Test:** `upload demo is visible` | ||
| - **Status:** ✅ PASSED | ||
| - **Duration:** 2.2s | ||
| - **Findings:** Drag-and-drop upload demo component is visible in Hero section. | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 14: Cookie Consent Banner | ||
|
|
||
| - **Test:** `cookie consent appears on first visit` | ||
| - **Status:** ❌ FAILED | ||
| - **Duration:** 7.7s | ||
| - **Error:** `element(s) not found: getByRole('button', { name: /accept/i })` | ||
| - **Root Cause:** Cookie consent component not rendered - may not be implemented yet (Issue #8 marked as pending in ISSUES.md) | ||
| - **Recommendation:** Cookie consent banner is not yet implemented | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 15: Share Buttons | ||
|
|
||
| - **Test:** `share buttons are visible` | ||
| - **Status:** ❌ FAILED | ||
| - **Duration:** 7.6s | ||
| - **Error:** `element(s) not found: getByRole('button', { name: /share/i })` | ||
| - **Root Cause:** Share buttons not found - Issue #25 marked as in-progress, component may not be implemented | ||
| - **Recommendation:** Verify ShareButtons component implementation | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 16: Features Section | ||
|
|
||
| - **Test:** `features section displays feature cards` | ||
| - **Status:** ❌ FAILED | ||
| - **Duration:** 8.4s | ||
| - **Error:** `element(s) not found: getByText(/markdown support/i)` | ||
| - **Root Cause:** "markdown support" text not found in Features section | ||
| - **Recommendation:** Check Features component for correct feature descriptions | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 17: How It Works | ||
|
|
||
| - **Test:** `how it works displays all steps` | ||
| - **Status:** ❌ FAILED | ||
| - **Duration:** 2.2s | ||
| - **Error:** `strict mode violation: getByText(/upload.*your docs/i) resolved to 3 elements` | ||
| - **Root Cause:** Multiple elements match the text pattern | ||
| - **Recommendation:** Use more specific selector (e.g., heading) to target How It Works steps | ||
|
|
||
| --- | ||
|
|
||
| ### Feature 18: Skip-to-Content Accessibility | ||
|
|
||
| - **Test:** `skip-to-content focus navigation` | ||
| - **Status:** ❌ FAILED | ||
| - **Duration:** 7.4s | ||
| - **Error:** `element(s) not found: getByRole('link', { name: /skip to content/i })` | ||
| - **Root Cause:** Skip-to-content link not rendered - Issue #11 marked as partially completed (acceptance criteria incomplete) | ||
| - **Recommendation:** Add skip-to-content link to index.html | ||
|
|
||
| --- | ||
|
|
||
| ## Test Failures Breakdown | ||
|
|
||
| ### By Category: | ||
|
|
||
| | Category | Passed | Failed | Total | | ||
| | ---------------------- | ------ | ------ | ------ | | ||
| | Core Functionality | 3 | 0 | 3 | | ||
| | Newsletter/Forms | 0 | 3 | 3 | | ||
| | Navigation | 1 | 2 | 3 | | ||
| | Interactive Components | 1 | 3 | 4 | | ||
| | Theme/Styling | 2 | 0 | 2 | | ||
| | Accessibility | 0 | 2 | 2 | | ||
| | Missing Components | 0 | 4 | 4 | | ||
| | Selector Issues | 0 | 4 | 4 | | ||
| | **Total** | **7** | **18** | **25** | | ||
|
|
||
| ### By Root Cause: | ||
|
|
||
| | Issue Type | Count | Tests Affected | | ||
| | ------------------------- | ----- | ---------------------------------- | | ||
| | Component Not Implemented | 4 | #14, #15, and partial for #16, #18 | | ||
| | Selector Specificity | 5 | #5, #9, #10, #17, and 2 more | | ||
| | Missing Elements | 3 | #3, #4, #7, #8 | | ||
| | Timeout | 3 | #3, #4, #7, #8 | | ||
|
|
||
| --- | ||
|
|
||
| ## Recommendations | ||
|
|
||
| ### High Priority: | ||
|
|
||
| 1. **Newsletter Component:** Verify email input field has proper labeling | ||
| 2. **Navigation Links:** Ensure FAQ and Testimonials links exist in navbar | ||
| 3. **Test Selectors:** Fix test selectors to be more specific (use `.first()` where multiple elements exist) | ||
|
|
||
| ### Medium Priority: | ||
|
|
||
| 4. **Cookie Consent:** Implement CookieConsent component (Issue #8 pending) | ||
| 5. **Share Buttons:** Complete ShareButtons implementation (Issue #25) | ||
| 6. **Skip-to-Content:** Add skip-to-content link (Issue #11 incomplete) | ||
|
|
||
| ### Low Priority: | ||
|
|
||
| 7. **Test Suite Refinement:** Update tests to handle multiple matching elements more gracefully | ||
|
|
||
| --- | ||
|
|
||
| ## Conclusion | ||
|
|
||
| The E2E test suite reveals that **32% of tests pass**, indicating good core functionality for landing page loading, navigation, theme switching, and upload demo. However, several features need attention: | ||
|
|
||
| 1. Newsletter form tests fail due to missing input field identification | ||
| 2. Several navigation links (FAQ, Testimonials) are not found | ||
| 3. Some components referenced in tests (Cookie Consent, Share Buttons) are not yet implemented | ||
| 4. Multiple tests have selector specificity issues that need refinement | ||
|
|
||
| **Overall Assessment:** Core features work correctly. Tests need updates to match current implementation, and a few features need full implementation. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
|
|
||
| Running 31 tests using 1 worker | ||
|
|
||
| ✓ 1 [Chromium] › e2e/landing.spec.ts:3:1 › loads landing page and core sections (1.3s) | ||
| ✓ 2 [Chromium] › e2e/landing.spec.ts:19:1 › navigate via anchor links (766ms) | ||
| ✘ 3 [Chromium] › e2e/landing.spec.ts:27:1 › newsletter form shows success on valid email (30.3s) | ||
| ✘ 4 [Chromium] › e2e/landing.spec.ts:34:1 › newsletter form shows error on invalid email (30.1s) | ||
| ✘ 5 [Chromium] › e2e/landing.spec.ts:41:1 › newsletter form shows error on empty submit (865ms) | ||
| ✓ 6 [Chromium] › e2e/landing.spec.ts:47:1 › pricing section renders (952ms) | ||
| ✘ 7 [Chromium] › e2e/landing.spec.ts:54:1 › testimonials section renders (30.1s) | ||
| ✘ 8 [Chromium] › e2e/landing.spec.ts:61:1 › skip-to-content focus navigation (5.9s) | ||
| ✘ 9 [Chromium] › e2e/landing.spec.ts:69:1 › faq accordion expands and collapses (30.2s) | ||
| ✘ 10 [Chromium] › e2e/landing.spec.ts:80:1 › mobile menu opens and closes (1.5s) | ||
| ✘ 11 [Chromium] › e2e/landing.spec.ts:89:1 › mobile menu closes on link click (766ms) | ||
| ✘ 12 [Chromium] › e2e/landing.spec.ts:97:1 › mobile menu closes on backdrop click (691ms) | ||
| ✘ 13 [Chromium] › e2e/landing.spec.ts:106:1 › keyboard escape closes mobile menu (647ms) | ||
| ✘ 14 [Chromium] › e2e/landing.spec.ts:115:1 › scroll-to-top button appears on scroll (5.6s) | ||
| ✓ 15 [Chromium] › e2e/landing.spec.ts:123:1 › dark/light mode toggle works (731ms) | ||
| ✓ 16 [Chromium] › e2e/landing.spec.ts:132:1 › theme persists after reload (622ms) | ||
| ✓ 17 [Chromium] › e2e/landing.spec.ts:142:1 › upload demo is visible (535ms) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.