🎭 E2E Test Results (Cypress)

Cypress E2E test run

✅ All tests passed
664
Passing
0
Failing
0
Pending
664
Total Tests
0
Spec Files

📜 Full Test Output

===== e2e-output-critical.log =====
1: starting server using command "npm run preview"
and when url "[ 'http://localhost:4173' ]" is responding with HTTP status code 200
running tests using command "npx cypress run --config video=false --spec 'cypress/e2e/homepage.cy.js,cypress/e2e/accessibility.cy.js,cypress/e2e/sitemap.cy.js'"


> riksdagsmonitor@1.0.79 preview
> vite preview

  ➜  Local:   http://localhost:4173/
  ➜  Network: http://10.1.0.193:4173/  eth0
It looks like this is your first time using Cypress: 16.0.0

[STARTED] [19:01:22]  Verifying Cypress can run /home/runner/.cache/Cypress/16.0.0/Cypress
[COMPLETED] [19:01:27]  Verified Cypress!       /home/runner/.cache/Cypress/16.0.0/Cypress

Opening Cypress...
The experimentalMemoryManagement configuration option was removed in Cypress version 16.0.0. Memory management is now enabled by default under the manageBrowserMemory option.

Please remove experimentalMemoryManagement from your configuration. To keep memory management disabled, set manageBrowserMemory: false.


====================================================================================================

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        16.0.0                                                                         │
  │ Browser:        Electron 146 (headless) (deprecated)                                           │
  │ Node Version:   v26.8.2 (/opt/hostedtoolcache/node/26.8.2/x64/bin/node)                        │
  │ Specs:          3 found (homepage.cy.js, accessibility.cy.js, sitemap.cy.js)                   │
  │ Searched:       cypress/e2e/homepage.cy.js, cypress/e2e/accessibility.cy.js, cypress/e2e/sitem │
  │                 ap.cy.js                                                                       │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘

Warning: The Electron browser is deprecated as a test browser and will be removed in a future version of Cypress.

Switch to Chrome or another installed browser to avoid a breaking change when you upgrade.

Read more about supported browsers: https://on.cypress.io/launching-browsers


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  homepage.cy.js                                                                  (1 of 3)


  Riksdagsmonitor Homepage
    ✓ should load homepage successfully (503ms)
    ✓ should have proper document structure (233ms)
    ✓ should display site logo/title (227ms)
    ✓ should have navigation menu (212ms)
    ✓ should be responsive on mobile (266ms)
    ✓ should be responsive on tablet (224ms)
    ✓ should be responsive on desktop (244ms)
    ✓ should have language switcher (218ms)
    ✓ should use system-ui font stack (no third-party font CDN) (257ms)
    ✓ should have proper meta tags (217ms)
    ✓ should have Open Graph tags (173ms)
    ✓ should have Twitter Card tags (216ms)
    ✓ should expose the Service Worker API for PWA install + offline support (222ms)


  13 passing (4s)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        13                                                                               │
  │ Passing:      13                                                                               │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     3 seconds                                                                        │
  │ Spec Ran:     homepage.cy.js                                                                   │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  accessibility.cy.js                                                             (2 of 3)


  Accessibility (WCAG 2.1 AA)
    ✓ should have valid HTML structure (398ms)
    ✓ should have proper heading hierarchy (221ms)
    ✓ should have alt text on images (253ms)
    ✓ should have labels for form inputs (212ms)
    ✓ should have ARIA roles on interactive elements (189ms)
    ✓ should have visible focus indicators (218ms)
    ✓ should be keyboard navigable (185ms)
    ✓ should have sufficient color contrast (218ms)
    ✓ should have language attribute on HTML tag (252ms)
    ✓ should have skip to content link (207ms)
    ✓ should have skip link as first focusable element (186ms)
    ✓ should support reduced motion preference (456ms)

  Multi-Language Support
    ✓ should load SV version (257ms)
    ✓ should load DA version (192ms)
    ✓ should load NO version (219ms)
    ✓ should load FI version (268ms)
    ✓ should load DE version (224ms)
    ✓ should load FR version (259ms)
    ✓ should load ES version (277ms)
    ✓ should load NL version (213ms)
    ✓ should load AR version (309ms)
    ✓ should load HE version (249ms)
    ✓ should load JA version (646ms)
    ✓ should load KO version (377ms)
    ✓ should load ZH version (438ms)
    ✓ should have proper RTL support for Arabic (279ms)
    ✓ should have proper RTL support for Hebrew (307ms)
    ✓ should have language switcher links (295ms)


  28 passing (9s)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        28                                                                               │
  │ Passing:      28                                                                               │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     9 seconds                                                                        │
  │ Spec Ran:     accessibility.cy.js                                                              │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  sitemap.cy.js                                                                   (3 of 3)


  Sitemap Pages
    English Sitemap
      ✓ should load sitemap successfully (687ms)
      ✓ should have proper document structure (357ms)
      ✓ should have sitemap heading (275ms)
      ✓ should have multiple links (329ms)
      ✓ should have organized sections (254ms)
      ✓ should have links to main pages (304ms)
      ✓ should have valid internal links (300ms)
      ✓ should have proper meta tags (278ms)
      ✓ should be responsive on mobile (372ms)
    Multi-Language Sitemap Support
      Swedish Sitemap (sv)
        ✓ should load Swedish sitemap successfully (301ms)
        ✓ should have proper lang attribute for Swedish (311ms)
        ✓ should have proper dir attribute for Swedish (272ms)
        ✓ should have links in Swedish (240ms)
        ✓ should have sitemap heading in Swedish (247ms)
      Danish Sitemap (da)
        ✓ should load Danish sitemap successfully (276ms)
        ✓ should have proper lang attribute for Danish (248ms)
        ✓ should have proper dir attribute for Danish (248ms)
        ✓ should have links in Danish (235ms)
        ✓ should have sitemap heading in Danish (317ms)
      Norwegian Sitemap (no)
        ✓ should load Norwegian sitemap successfully (299ms)
        ✓ should have proper lang attribute for Norwegian (275ms)
        ✓ should have proper dir attribute for Norwegian (254ms)
        ✓ should have links in Norwegian (260ms)
        ✓ should have sitemap heading in Norwegian (264ms)
      Finnish Sitemap (fi)
        ✓ should load Finnish sitemap successfully (232ms)
        ✓ should have proper lang attribute for Finnish (229ms)
        ✓ should have proper dir attribute for Finnish (290ms)
        ✓ should have links in Finnish (218ms)
        ✓ should have sitemap heading in Finnish (232ms)
      German Sitemap (de)
        ✓ should load German sitemap successfully (304ms)
        ✓ should have proper lang attribute for German (271ms)
        ✓ should have proper dir attribute for German (251ms)
        ✓ should have links in German (248ms)
        ✓ should have sitemap heading in German (281ms)
      French Sitemap (fr)
        ✓ should load French sitemap successfully (326ms)
        ✓ should have proper lang attribute for French (241ms)
        ✓ should have proper dir attribute for French (223ms)
        ✓ should have links in French (275ms)
        ✓ should have sitemap heading in French (236ms)
      Spanish Sitemap (es)
        ✓ should load Spanish sitemap successfully (301ms)
        ✓ should have proper lang attribute for Spanish (260ms)
        ✓ should have proper dir attribute for Spanish (220ms)
        ✓ should have links in Spanish (276ms)
        ✓ should have sitemap heading in Spanish (217ms)
      Dutch Sitemap (nl)
        ✓ should load Dutch sitemap successfully (252ms)
        ✓ should have proper lang attribute for Dutch (237ms)
        ✓ should have proper dir attribute for Dutch (229ms)
        ✓ should have links in Dutch (258ms)
        ✓ should have sitemap heading in Dutch (320ms)
      Arabic Sitemap (ar)
        ✓ should load Arabic sitemap successfully (543ms)
        ✓ should have proper lang attribute for Arabic (531ms)
        ✓ should have proper dir attribute for Arabic (395ms)
        ✓ should have links in Arabic (404ms)
        ✓ should have sitemap heading in Arabic (431ms)
      Hebrew Sitemap (he)
        ✓ should load Hebrew sitemap successfully (284ms)
        ✓ should have proper lang attribute for Hebrew (284ms)
        ✓ should have proper dir attribute for Hebrew (370ms)
        ✓ should have links in Hebrew (293ms)
        ✓ should have sitemap heading in Hebrew (375ms)
      Japanese Sitemap (ja)
        ✓ should load Japanese sitemap successfully (3466ms)
        ✓ should have proper lang attribute for Japanese (3377ms)
        ✓ should have proper dir attribute for Japanese (3165ms)
        ✓ should have links in Japanese (3415ms)
        ✓ should have sitemap heading in Japanese (3095ms)
      Korean Sitemap (ko)
        ✓ should load Korean sitemap successfully (821ms)
        ✓ should have proper lang attribute for Korean (777ms)
        ✓ should have proper dir attribute for Korean (762ms)
        ✓ should have links in Korean (647ms)
        ✓ should have sitemap heading in Korean (600ms)
      Chinese Sitemap (zh)
        ✓ should load Chinese sitemap successfully (800ms)
        ✓ should have proper lang attribute for Chinese (543ms)
        ✓ should have proper dir attribute for Chinese (539ms)
        ✓ should have links in Chinese (639ms)
        ✓ should have sitemap heading in Chinese (745ms)
    RTL Sitemap Support
      ✓ should have proper RTL layout for Arabic (470ms)
      ✓ should have proper RTL layout for Hebrew (335ms)
    Sitemap Link Organization
      ✓ should have dashboard links (263ms)
      ✓ should have news links (299ms)
      ✓ should have language variant links (273ms)
    Sitemap Accessibility
      ✓ should have proper heading hierarchy (308ms)
      ✓ should have keyboard navigable links (366ms)
      ✓ should have descriptive link text (309ms)
      ✓ should not have empty links (2440ms)
    Sitemap Performance
      ✓ should load quickly (322ms)
      ✓ should not have broken internal links (sample) (574ms)
    Sitemap Responsive Design
      ✓ should be responsive on Mobile (506ms)
      ✓ should be responsive on Tablet (338ms)
      ✓ should be responsive on Desktop (276ms)
    Sitemap Navigation
      ✓ should have link back to homepage (300ms)
      ✓ should have navigation menu (288ms)


  90 passing (55s)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        90                                                                               │
  │ Passing:      90                                                                               │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     54 seconds                                                                       │
  │ Spec Ran:     sitemap.cy.js                                                                    │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


====================================================================================================

  (Run Finished)


       Spec                                              Tests  Passing  Failing  Pending  Skipped  
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ✔  homepage.cy.js                           00:03       13       13        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  accessibility.cy.js                      00:09       28       28        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  sitemap.cy.js                            00:54       90       90        -        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ✔  All specs passed!                        01:07      131      131        -        -        -  


===== e2e-output-dashboards-extra.log =====
1: starting server using command "npm run preview"
and when url "[ 'http://localhost:4173' ]" is responding with HTTP status code 200
running tests using command "npx cypress run --config video=false --spec 'cypress/e2e/all-dashboards.cy.js,cypress/e2e/politician-dashboard.cy.js'"


> riksdagsmonitor@1.0.79 preview
> vite preview

  ➜  Local:   http://localhost:4173/
  ➜  Network: http://10.1.0.148:4173/  eth0
It looks like this is your first time using Cypress: 16.0.0

[STARTED] [19:01:23]  Verifying Cypress can run /home/runner/.cache/Cypress/16.0.0/Cypress
[COMPLETED] [19:01:33]  Verified Cypress!       /home/runner/.cache/Cypress/16.0.0/Cypress

Opening Cypress...
The experimentalMemoryManagement configuration option was removed in Cypress version 16.0.0. Memory management is now enabled by default under the manageBrowserMemory option.

Please remove experimentalMemoryManagement from your configuration. To keep memory management disabled, set manageBrowserMemory: false.


====================================================================================================

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        16.0.0                                                                         │
  │ Browser:        Electron 146 (headless) (deprecated)                                           │
  │ Node Version:   v26.8.2 (/opt/hostedtoolcache/node/26.8.2/x64/bin/node)                        │
  │ Specs:          2 found (all-dashboards.cy.js, politician-dashboard.cy.js)                     │
  │ Searched:       cypress/e2e/all-dashboards.cy.js, cypress/e2e/politician-dashboard.cy.js       │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘

Warning: The Electron browser is deprecated as a test browser and will be removed in a future version of Cypress.

Switch to Chrome or another installed browser to avoid a breaking change when you upgrade.

Read more about supported browsers: https://on.cypress.io/launching-browsers


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  all-dashboards.cy.js                                                            (1 of 2)


  All Dashboards - Comprehensive Coverage
    Party Dashboard
      ✓ should mount the dashboard container and remain visible (674ms)
      ✓ should have dashboard heading (277ms)
      ✓ should have data attribution (352ms)
      Chart.js Charts
        ✓ should have partyEffectivenessChart canvas (264ms)
        ✓ partyEffectivenessChart should be rendered by Chart.js (652ms)
        ✓ should have partyComparisonChart canvas (265ms)
        ✓ partyComparisonChart should be rendered by Chart.js (755ms)
        ✓ should have partyMomentumChart canvas (326ms)
        ✓ partyMomentumChart should be rendered by Chart.js (785ms)
      D3.js Visualizations
        ✓ should have coalitionAlignmentChart container (338ms)
        ✓ coalitionAlignmentChart should render D3 SVG (329ms)
        ✓ coalitionAlignmentChart SVG should have content (319ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (324ms)
        ✓ should have screen reader descriptions (342ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (380ms)
        ✓ should be visible on tablet (768px) (335ms)
        ✓ should be visible on desktop (1440px) (283ms)
    Election Cycle Dashboard
      ✓ should mount the dashboard container and remain visible (255ms)
      ✓ should have dashboard heading (247ms)
      ✓ should have data attribution (239ms)
      Chart.js Charts
        ✓ should have cycle-timeline-chart canvas (254ms)
        ✓ cycle-timeline-chart should be rendered by Chart.js (681ms)
        ✓ should have risk-forecast-chart canvas (282ms)
        ✓ risk-forecast-chart should be rendered by Chart.js (639ms)
        ✓ should have temporal-trends-chart canvas (258ms)
        ✓ temporal-trends-chart should be rendered by Chart.js (678ms)
        ✓ should have party-tier-chart canvas (371ms)
        ✓ party-tier-chart should be rendered by Chart.js (636ms)
      D3.js Visualizations
        ✓ should have decision-heatmap container (257ms)
        ✓ decision-heatmap should render D3 SVG (263ms)
        ✓ decision-heatmap SVG should have content (265ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (245ms)
        ✓ should have screen reader descriptions (333ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (372ms)
        ✓ should be visible on tablet (768px) (342ms)
        ✓ should be visible on desktop (1440px) (272ms)
    Committee Dashboard
      ✓ should mount the dashboard container and remain visible (345ms)
      ✓ should have dashboard heading (465ms)
      ✓ should have data attribution (241ms)
      Chart.js Charts
        ✓ should have committeeComparisonChart canvas (323ms)
        ✓ committeeComparisonChart should be rendered by Chart.js (3387ms)
        ✓ should have decisionEffectivenessChart canvas (267ms)
        ✓ decisionEffectivenessChart should be rendered by Chart.js (3303ms)
        ✓ should have seasonalPatternsChart canvas (285ms)
        ✓ seasonalPatternsChart should be rendered by Chart.js (3496ms)
      D3.js Visualizations
        ✓ should have committeeNetwork container (308ms)
        ✓ committeeNetwork should render D3 SVG (291ms)
        ✓ committeeNetwork SVG should have content (279ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (329ms)
        ✓ should have screen reader descriptions (270ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (391ms)
        ✓ should be visible on tablet (768px) (351ms)
        ✓ should be visible on desktop (1440px) (295ms)
    Coalition Dashboard
      ✓ should mount the dashboard container and remain visible (359ms)
      ✓ should have dashboard heading (283ms)
      ✓ should have data attribution (266ms)
      Chart.js Charts
        ✓ should have votingAnomalyChart canvas (262ms)
        ✓ votingAnomalyChart should be rendered by Chart.js (532ms)
        ✓ should have behavioralPatternsChart canvas (246ms)
        ✓ behavioralPatternsChart should be rendered by Chart.js (623ms)
        ✓ should have decisionTrendsChart canvas (260ms)
        ✓ decisionTrendsChart should be rendered by Chart.js (640ms)
      D3.js Visualizations
        ✓ should have coalitionNetwork container (277ms)
        ✓ coalitionNetwork should render D3 SVG (270ms)
        ✓ coalitionNetwork SVG should have content (266ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (277ms)
        ✓ should have screen reader descriptions (289ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (315ms)
        ✓ should be visible on tablet (768px) (308ms)
        ✓ should be visible on desktop (1440px) (314ms)
    Seasonal Patterns Dashboard
      ✓ should mount the dashboard container and remain visible (261ms)
      ✓ should have dashboard heading (250ms)
      ✓ should have data attribution (256ms)
      Chart.js Charts
        ✓ should have zscore-timeline-chart canvas (281ms)
        ✓ zscore-timeline-chart should be rendered by Chart.js (676ms)
        ✓ should have quarter-comparison-chart canvas (249ms)
        ✓ quarter-comparison-chart should be rendered by Chart.js (623ms)
        ✓ should have classification-chart canvas (308ms)
        ✓ classification-chart should be rendered by Chart.js (619ms)
        ✓ should have qoq-change-chart canvas (335ms)
        ✓ qoq-change-chart should be rendered by Chart.js (639ms)
      D3.js Visualizations
        ✓ should have seasonal-heatmap container (336ms)
        ✓ seasonal-heatmap should render D3 SVG (251ms)
        ✓ seasonal-heatmap SVG should have content (257ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (353ms)
        ✓ should have screen reader descriptions (256ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (307ms)
        ✓ should be visible on tablet (768px) (282ms)
        ✓ should be visible on desktop (1440px) (341ms)
    Pre-Election Dashboard
      ✓ should mount the dashboard container and remain visible (270ms)
      ✓ should have dashboard heading (264ms)
      ✓ should have data attribution (265ms)
      Chart.js Charts
        ✓ should have q4-timeline-chart canvas (375ms)
        ✓ q4-timeline-chart should be rendered by Chart.js (561ms)
        ✓ should have election-comparison-chart canvas (259ms)
        ✓ election-comparison-chart should be rendered by Chart.js (594ms)
        ✓ should have deviation-radar-chart canvas (279ms)
        ✓ deviation-radar-chart should be rendered by Chart.js (653ms)
        ✓ should have party-trends-chart canvas (270ms)
        ✓ party-trends-chart should be rendered by Chart.js (729ms)
        ✓ should have yoy-waterfall-chart canvas (307ms)
        ✓ yoy-waterfall-chart should be rendered by Chart.js (598ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (280ms)
        ✓ should have screen reader descriptions (283ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (368ms)
        ✓ should be visible on tablet (768px) (283ms)
        ✓ should be visible on desktop (1440px) (300ms)
    Anomaly Detection Dashboard
      ✓ should mount the dashboard container and remain visible (344ms)
      ✓ should have dashboard heading (280ms)
      ✓ should have data attribution (275ms)
      Chart.js Charts
        ✓ should have anomaly-timeline-chart canvas (259ms)
        ✓ anomaly-timeline-chart should be rendered by Chart.js (623ms)
        ✓ should have zscore-distribution-chart canvas (318ms)
        ✓ zscore-distribution-chart should be rendered by Chart.js (580ms)
        ✓ should have anomaly-type-chart canvas (246ms)
        ✓ anomaly-type-chart should be rendered by Chart.js (740ms)
        ✓ should have quarterly-frequency-chart canvas (245ms)
        ✓ quarterly-frequency-chart should be rendered by Chart.js (611ms)
      D3.js Visualizations
        ✓ should have severity-heatmap container (241ms)
        ✓ severity-heatmap should render D3 SVG (259ms)
        ✓ severity-heatmap SVG should have content (257ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (272ms)
        ✓ should have screen reader descriptions (251ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (310ms)
        ✓ should be visible on tablet (768px) (392ms)
        ✓ should be visible on desktop (1440px) (275ms)
    Ministry Dashboard
      ✓ should mount the dashboard container and remain visible (260ms)
      ✓ should have dashboard heading (260ms)
      ✓ should have data attribution (296ms)
      Chart.js Charts
        ✓ should have ministerInfluenceChart canvas (266ms)
        ✓ ministerInfluenceChart should be rendered by Chart.js (588ms)
        ✓ should have ministryProductivityChart canvas (271ms)
        ✓ ministryProductivityChart should be rendered by Chart.js (616ms)
        ✓ should have decisionImpactChart canvas (276ms)
        ✓ decisionImpactChart should be rendered by Chart.js (683ms)
      D3.js Visualizations
        ✓ should have ministryRiskHeatMap container (278ms)
        ✓ ministryRiskHeatMap should render D3 SVG (259ms)
        ✓ ministryRiskHeatMap SVG should have content (278ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (279ms)
        ✓ should have screen reader descriptions (285ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (309ms)
        ✓ should be visible on tablet (768px) (294ms)
        ✓ should be visible on desktop (1440px) (330ms)
    Risk Dashboard
      ✓ should mount the dashboard container and remain visible (264ms)
      ✓ should have dashboard heading (260ms)
      ✓ should have data attribution (263ms)
      Chart.js Charts
        ✓ should have riskDistributionChart canvas (252ms)
        ✓ riskDistributionChart should be rendered by Chart.js (1343ms)
        ✓ should have anomalyDetectionChart canvas (258ms)
        ✓ anomalyDetectionChart should be rendered by Chart.js (1355ms)
        ✓ should have crisisResilienceChart canvas (303ms)
        ✓ crisisResilienceChart should be rendered by Chart.js (1367ms)
        ✓ should have riskEvolutionChart canvas (256ms)
        ✓ riskEvolutionChart should be rendered by Chart.js (1387ms)
      D3.js Visualizations
        ✓ should have riskHeatMap container (1185ms)
        ✓ riskHeatMap should render D3 SVG (273ms)
        ✓ riskHeatMap SVG should have content (328ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (269ms)
        ✓ should have screen reader descriptions (257ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (333ms)
        ✓ should be visible on tablet (768px) (304ms)
        ✓ should be visible on desktop (1440px) (364ms)
    Dashboard Integration
      ✓ all 9 dashboards should have a unique slug + container ID (65ms)
      ✓ home page hub should link to every dashboard slug (320ms)
      ✓ every dashboard page should expose a back-to-home link (2675ms)
      ✓ every dashboard page should link to the other 8 dashboards via related-dashboards aside (2953ms)
    Performance
      ✓ every dashboard page should mount its container within 5s (2699ms)
      ✓ parties dashboard renders its first Chart.js canvas with Chart.js instance (638ms)


  168 passing (4m)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        168                                                                              │
  │ Passing:      168                                                                              │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     3 minutes, 43 seconds                                                            │
  │ Spec Ran:     all-dashboards.cy.js                                                             │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  politician-dashboard.cy.js                                                      (2 of 2)


  Politician Dashboard
    Page Loading and Structure
      ✓ should load politician dashboard successfully (524ms)
      ✓ should have proper document structure (332ms)
      ✓ should have dashboard header (248ms)
      ✓ should have chart cards container (247ms)
      ✓ should have proper meta tags (253ms)
      ✓ should have Open Graph tags (232ms)
      ✓ should have canonical link (234ms)
    Chart and Visualization Elements
      ✓ should have chart containers (214ms)
      ✓ should load Chart.js library (442ms)
      ✓ should have chart cards with proper styling (301ms)
      ✓ should have chart titles (341ms)
      ✓ should render canvas elements for charts (284ms)
    Politician Data Display
      ✓ should display politician rankings or data (233ms)
      ✓ should have top rankings section (272ms)
    Responsive Design
      ✓ should be responsive on Mobile (375x667) (247ms)
      ✓ should be responsive on Tablet (768x1024) (257ms)
      ✓ should be responsive on Desktop (1280x720) (253ms)
      ✓ should be responsive on Large Desktop (1920x1080) (219ms)
      ✓ should have mobile-friendly grid layout (289ms)
    Accessibility (WCAG 2.1 AA)
      ✓ should have proper language attribute (232ms)
      ✓ should have proper heading hierarchy (248ms)
      ✓ should have ARIA labels on interactive elements (294ms)
      ✓ should have alt text on images (286ms)
      ✓ should be keyboard navigable (262ms)
      ✓ should have sufficient color contrast (452ms)
    Navigation and Links
      ✓ should have navigation back to homepage (236ms)
      ✓ should have working internal links (231ms)
    Performance
      ✓ should load page within reasonable time (491ms)
      ✓ should not have JavaScript errors (261ms)
    Data Loading States
      ✓ should handle empty state gracefully (248ms)
      ✓ should have loading indicators or data display (265ms)
    CSS and Styling
      ✓ should not load any third-party font CDN (system-ui font stack) (268ms)
      ✓ should have custom styling loaded (228ms)
      ✓ should have cyberpunk theme elements (254ms)


  34 passing (13s)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        34                                                                               │
  │ Passing:      34                                                                               │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     12 seconds                                                                       │
  │ Spec Ran:     politician-dashboard.cy.js                                                       │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


====================================================================================================

  (Run Finished)


       Spec                                              Tests  Passing  Failing  Pending  Skipped  
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ✔  all-dashboards.cy.js                     03:43      168      168        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  politician-dashboard.cy.js               00:12       34       34        -        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ✔  All specs passed!                        03:56      202      202        -        -        -  


===== e2e-output-dashboards.log =====
1: starting server using command "npm run preview"
and when url "[ 'http://localhost:4173' ]" is responding with HTTP status code 200
running tests using command "npx cypress run --config video=false --spec 'cypress/e2e/dashboard-page.cy.js,cypress/e2e/dashboards.cy.js,cypress/e2e/dashboards-no-scroll.cy.js'"


> riksdagsmonitor@1.0.79 preview
> vite preview

  ➜  Local:   http://localhost:4173/
  ➜  Network: http://10.1.0.177:4173/  eth0
It looks like this is your first time using Cypress: 16.0.0

[STARTED] [19:01:22]  Verifying Cypress can run /home/runner/.cache/Cypress/16.0.0/Cypress
[COMPLETED] [19:01:26]  Verified Cypress!       /home/runner/.cache/Cypress/16.0.0/Cypress

Opening Cypress...
The experimentalMemoryManagement configuration option was removed in Cypress version 16.0.0. Memory management is now enabled by default under the manageBrowserMemory option.

Please remove experimentalMemoryManagement from your configuration. To keep memory management disabled, set manageBrowserMemory: false.


====================================================================================================

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        16.0.0                                                                         │
  │ Browser:        Electron 146 (headless) (deprecated)                                           │
  │ Node Version:   v26.8.2 (/opt/hostedtoolcache/node/26.8.2/x64/bin/node)                        │
  │ Specs:          3 found (dashboard-page.cy.js, dashboards.cy.js, dashboards-no-scroll.cy.js)   │
  │ Searched:       cypress/e2e/dashboard-page.cy.js, cypress/e2e/dashboards.cy.js, cypress/e2e/da │
  │                 shboards-no-scroll.cy.js                                                       │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘

Warning: The Electron browser is deprecated as a test browser and will be removed in a future version of Cypress.

Switch to Chrome or another installed browser to avoid a breaking change when you upgrade.

Read more about supported browsers: https://on.cypress.io/launching-browsers


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  dashboard-page.cy.js                                                            (1 of 3)


  Dashboard Page - Main English Version
    ✓ should load dashboard page successfully (705ms)
    ✓ should have proper document structure (316ms)
    ✓ should display page heading (238ms)
    ✓ should have navigation menu (354ms)
    ✓ should have language switcher for all 14 languages (247ms)
    ✓ should have CIA data visualization containers (314ms)
    ✓ should be responsive on mobile (335ms)
    ✓ should be responsive on tablet (385ms)
    ✓ should be responsive on desktop (222ms)
    ✓ should have proper meta tags (304ms)
    ✓ should have link back to homepage (252ms)
    ✓ should load CSS styles (312ms)
    ✓ should load JavaScript modules (229ms)

  Dashboard Page - All Language Variants
    Swedish (SV)
      ✓ should load Swedish dashboard page (257ms)
      ✓ should have correct dir attribute for Swedish (210ms)
      ✓ should have proper page structure for Swedish (190ms)
      ✓ should be responsive for Swedish (361ms)
    Danish (DA)
      ✓ should load Danish dashboard page (188ms)
      ✓ should have correct dir attribute for Danish (176ms)
      ✓ should have proper page structure for Danish (161ms)
      ✓ should be responsive for Danish (206ms)
    Norwegian (NO)
      ✓ should load Norwegian dashboard page (225ms)
      ✓ should have correct dir attribute for Norwegian (265ms)
      ✓ should have proper page structure for Norwegian (234ms)
      ✓ should be responsive for Norwegian (265ms)
    Finnish (FI)
      ✓ should load Finnish dashboard page (219ms)
      ✓ should have correct dir attribute for Finnish (218ms)
      ✓ should have proper page structure for Finnish (219ms)
      ✓ should be responsive for Finnish (295ms)
    German (DE)
      ✓ should load German dashboard page (151ms)
      ✓ should have correct dir attribute for German (165ms)
      ✓ should have proper page structure for German (176ms)
      ✓ should be responsive for German (272ms)
    French (FR)
      ✓ should load French dashboard page (199ms)
      ✓ should have correct dir attribute for French (164ms)
      ✓ should have proper page structure for French (300ms)
      ✓ should be responsive for French (250ms)
    Spanish (ES)
      ✓ should load Spanish dashboard page (208ms)
      ✓ should have correct dir attribute for Spanish (231ms)
      ✓ should have proper page structure for Spanish (160ms)
      ✓ should be responsive for Spanish (242ms)
    Dutch (NL)
      ✓ should load Dutch dashboard page (224ms)
      ✓ should have correct dir attribute for Dutch (232ms)
      ✓ should have proper page structure for Dutch (299ms)
      ✓ should be responsive for Dutch (194ms)
    Arabic (AR)
      ✓ should load Arabic dashboard page (286ms)
      ✓ should have correct dir attribute for Arabic (287ms)
      ✓ should have proper page structure for Arabic (176ms)
      ✓ should be responsive for Arabic (231ms)
    Hebrew (HE)
      ✓ should load Hebrew dashboard page (176ms)
      ✓ should have correct dir attribute for Hebrew (194ms)
      ✓ should have proper page structure for Hebrew (231ms)
      ✓ should be responsive for Hebrew (219ms)
    Japanese (JA)
      ✓ should load Japanese dashboard page (305ms)
      ✓ should have correct dir attribute for Japanese (224ms)
      ✓ should have proper page structure for Japanese (259ms)
      ✓ should be responsive for Japanese (405ms)
    Korean (KO)
      ✓ should load Korean dashboard page (272ms)
      ✓ should have correct dir attribute for Korean (206ms)
      ✓ should have proper page structure for Korean (199ms)
      ✓ should be responsive for Korean (290ms)
    Chinese (ZH)
      ✓ should load Chinese dashboard page (230ms)
      ✓ should have correct dir attribute for Chinese (201ms)
      ✓ should have proper page structure for Chinese (219ms)
      ✓ should be responsive for Chinese (254ms)

  Dashboard Page - Accessibility
    ✓ should have valid HTML lang attribute (216ms)
    ✓ should have proper heading hierarchy (156ms)
    ✓ should have alt text on images (if any) (268ms)
    ✓ should have ARIA labels on charts (if any) (174ms)
    ✓ should be keyboard navigable (167ms)
    ✓ should have visible focus indicators (179ms)

  Dashboard Page - Navigation
    ✓ should navigate from homepage to dashboard (575ms)
    ✓ should navigate from dashboard back to homepage (620ms)
    ✓ should support language switching on dashboard page (249ms)

  Dashboard Page - Performance
    ✓ should load dashboard page within reasonable time (359ms)
    ✓ should handle missing data gracefully (225ms)

  Dashboard Page - RTL Support
    ✓ should have proper RTL layout for Arabic (312ms)
    ✓ should have proper RTL layout for Hebrew (355ms)


  78 passing (28s)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        78                                                                               │
  │ Passing:      78                                                                               │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     27 seconds                                                                       │
  │ Spec Ran:     dashboard-page.cy.js                                                             │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  dashboards.cy.js                                                                (2 of 3)


  Dashboard Functionality
    Party Dashboard
      ✓ should display party dashboard (276ms)
      ✓ should have party effectiveness chart (195ms)
      ✓ should have party comparison chart (153ms)
      ✓ should have coalition alignment chart (148ms)
      ✓ should have party momentum chart (182ms)
      ✓ should render charts after data loads (410ms)
    Anomaly Detection Dashboard
      ✓ should display anomaly dashboard (148ms)
      ✓ should have severity filter (135ms)
      ✓ should have type filter (239ms)
      ✓ should filter anomalies by severity (439ms)
      ✓ should display D3 heatmap (2176ms)
    Seasonal Patterns Dashboard
      ✓ should display seasonal patterns dashboard (146ms)
      ✓ should have year filter (155ms)
      ✓ should have quarter filter (145ms)
    Pre-Election Dashboard
      ✓ should display pre-election dashboard (193ms)
      ✓ should show status cards (134ms)
    Dashboard Accessibility
      ✓ should have ARIA labels on charts (225ms)
      ✓ should have screen reader text (176ms)
      ✓ should be keyboard navigable (137ms)
    Dashboard Performance
      ✓ should load dashboards within reasonable time (166ms)
      ✓ should handle data loading failures without crashing (155ms)
    Dashboard Bundle Integration
      ✓ /dashboards/parties.html ships hashed main bundle (no /src/browser/main.ts) (37ms)
      ✓ /dashboards/pre-election.html ships hashed main bundle (no /src/browser/main.ts) (28ms)
      ✓ /dashboards/coalitions.html ships hashed main bundle (no /src/browser/main.ts) (22ms)
      ✓ /dashboards/committees.html ships hashed main bundle (no /src/browser/main.ts) (24ms)
      ✓ /dashboards/seasonal-patterns.html ships hashed main bundle (no /src/browser/main.ts) (25ms)
      ✓ /dashboards/anomaly-detection.html ships hashed main bundle (no /src/browser/main.ts) (25ms)
      ✓ /dashboards/risk.html ships hashed main bundle (no /src/browser/main.ts) (23ms)
      ✓ /dashboards/ministers.html ships hashed main bundle (no /src/browser/main.ts) (22ms)
      ✓ /dashboards/election-cycle.html ships hashed main bundle (no /src/browser/main.ts) (22ms)
      ✓ runs main.ts → registers Chart.js global on dashboard pages (220ms)


  31 passing (8s)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        31                                                                               │
  │ Passing:      31                                                                               │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     7 seconds                                                                        │
  │ Spec Ran:     dashboards.cy.js                                                                 │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  dashboards-no-scroll.cy.js                                                      (3 of 3)


  Dedicated dashboard pages — no-scroll lazy-load regression
    /dashboards/parties.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (387ms)
      ✓ registers window.Chart and window.d3 without any user scroll (258ms)
      ✓ does not show a visible error fallback on first paint (218ms)
    /dashboards/committees.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (194ms)
      ✓ registers window.Chart and window.d3 without any user scroll (225ms)
      ✓ does not show a visible error fallback on first paint (208ms)
    /dashboards/coalitions.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (187ms)
      ✓ registers window.Chart and window.d3 without any user scroll (206ms)
      ✓ does not show a visible error fallback on first paint (215ms)
    /dashboards/election-cycle.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (342ms)
      ✓ registers window.Chart and window.d3 without any user scroll (245ms)
      ✓ does not show a visible error fallback on first paint (225ms)
    /dashboards/seasonal-patterns.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (215ms)
      ✓ registers window.Chart and window.d3 without any user scroll (228ms)
      ✓ does not show a visible error fallback on first paint (234ms)
    /dashboards/pre-election.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (197ms)
      ✓ registers window.Chart and window.d3 without any user scroll (215ms)
      ✓ does not show a visible error fallback on first paint (228ms)
    /dashboards/anomaly-detection.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (180ms)
      ✓ registers window.Chart and window.d3 without any user scroll (308ms)
      ✓ does not show a visible error fallback on first paint (227ms)
    /dashboards/ministers.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (176ms)
      ✓ registers window.Chart and window.d3 without any user scroll (209ms)
      ✓ does not show a visible error fallback on first paint (198ms)
    /dashboards/risk.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (188ms)
      ✓ registers window.Chart and window.d3 without any user scroll (239ms)
      ✓ does not show a visible error fallback on first paint (221ms)


  27 passing (7s)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        27                                                                               │
  │ Passing:      27                                                                               │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     7 seconds                                                                        │
  │ Spec Ran:     dashboards-no-scroll.cy.js                                                       │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


====================================================================================================

  (Run Finished)


       Spec                                              Tests  Passing  Failing  Pending  Skipped  
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ✔  dashboard-page.cy.js                     00:27       78       78        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  dashboards.cy.js                         00:07       31       31        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  dashboards-no-scroll.cy.js               00:07       27       27        -        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ✔  All specs passed!                        00:43      136      136        -        -        -  


===== e2e-output-i18n.log =====
1: starting server using command "npm run preview"
and when url "[ 'http://localhost:4173' ]" is responding with HTTP status code 200
running tests using command "npx cypress run --config video=false --spec 'cypress/e2e/multi-language-sanity.cy.js'"


> riksdagsmonitor@1.0.79 preview
> vite preview

  ➜  Local:   http://localhost:4173/
  ➜  Network: http://10.1.0.116:4173/  eth0
It looks like this is your first time using Cypress: 16.0.0

[STARTED] [19:01:20]  Verifying Cypress can run /home/runner/.cache/Cypress/16.0.0/Cypress
[COMPLETED] [19:01:22]  Verified Cypress!       /home/runner/.cache/Cypress/16.0.0/Cypress

Opening Cypress...
The experimentalMemoryManagement configuration option was removed in Cypress version 16.0.0. Memory management is now enabled by default under the manageBrowserMemory option.

Please remove experimentalMemoryManagement from your configuration. To keep memory management disabled, set manageBrowserMemory: false.


====================================================================================================

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        16.0.0                                                                         │
  │ Browser:        Electron 146 (headless) (deprecated)                                           │
  │ Node Version:   v26.8.2 (/opt/hostedtoolcache/node/26.8.2/x64/bin/node)                        │
  │ Specs:          1 found (multi-language-sanity.cy.js)                                          │
  │ Searched:       cypress/e2e/multi-language-sanity.cy.js                                        │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘

Warning: The Electron browser is deprecated as a test browser and will be removed in a future version of Cypress.

Switch to Chrome or another installed browser to avoid a breaking change when you upgrade.

Read more about supported browsers: https://on.cypress.io/launching-browsers


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  multi-language-sanity.cy.js                                                     (1 of 1)


  Multi-Language Sanity Tests
    Homepage - Representative Languages
      ✓ should load Swedish (sv) homepage (652ms)
      ✓ should have proper lang attribute for Swedish (357ms)
      ✓ should have correct text direction for Swedish (283ms)
      ✓ should have basic page structure for Swedish (359ms)
      ✓ should load German (de) homepage (372ms)
      ✓ should have proper lang attribute for German (316ms)
      ✓ should have correct text direction for German (347ms)
      ✓ should have basic page structure for German (428ms)
      ✓ should load Arabic (ar) homepage (428ms)
      ✓ should have proper lang attribute for Arabic (342ms)
      ✓ should have correct text direction for Arabic (379ms)
      ✓ should have basic page structure for Arabic (400ms)
      ✓ should load Japanese (ja) homepage (756ms)
      ✓ should have proper lang attribute for Japanese (756ms)
      ✓ should have correct text direction for Japanese (709ms)
      ✓ should have basic page structure for Japanese (693ms)
      ✓ should load Chinese (zh) homepage (609ms)
      ✓ should have proper lang attribute for Chinese (513ms)
      ✓ should have correct text direction for Chinese (507ms)
      ✓ should have basic page structure for Chinese (483ms)
    Dashboard - Representative Languages
      ✓ should load Swedish (sv) dashboard (535ms)
      ✓ should have proper lang attribute for Swedish dashboard (671ms)
      ✓ should have correct text direction for Swedish dashboard (444ms)
      ✓ should have basic page structure for Swedish dashboard (809ms)
      ✓ should load German (de) dashboard (729ms)
      ✓ should have proper lang attribute for German dashboard (313ms)
      ✓ should have correct text direction for German dashboard (453ms)
      ✓ should have basic page structure for German dashboard (481ms)
      ✓ should load Arabic (ar) dashboard (809ms)
      ✓ should have proper lang attribute for Arabic dashboard (357ms)
      ✓ should have correct text direction for Arabic dashboard (461ms)
      ✓ should have basic page structure for Arabic dashboard (556ms)
      ✓ should load Japanese (ja) dashboard (889ms)
      ✓ should have proper lang attribute for Japanese dashboard (415ms)
      ✓ should have correct text direction for Japanese dashboard (410ms)
      ✓ should have basic page structure for Japanese dashboard (656ms)
      ✓ should load Chinese (zh) dashboard (746ms)
      ✓ should have proper lang attribute for Chinese dashboard (437ms)
      ✓ should have correct text direction for Chinese dashboard (361ms)
      ✓ should have basic page structure for Chinese dashboard (657ms)
    News - Representative Languages
      Swedish (sv)
        ✓ should load news page (425ms)
        ✓ should have proper lang attribute (323ms)
        ✓ should have correct text direction (354ms)
        ✓ should have basic page structure (435ms)
      German (de)
        ✓ should load news page (365ms)
        ✓ should have proper lang attribute (346ms)
        ✓ should have correct text direction (305ms)
        ✓ should have basic page structure (406ms)
      Arabic (ar)
        ✓ should load news page (396ms)
        ✓ should have proper lang attribute (433ms)
        ✓ should have correct text direction (393ms)
        ✓ should have basic page structure (379ms)
      Japanese (ja)
        ✓ should load news page (583ms)
        ✓ should have proper lang attribute (580ms)
        ✓ should have correct text direction (504ms)
        ✓ should have basic page structure (492ms)
      Chinese (zh)
        ✓ should load news page (492ms)
        ✓ should have proper lang attribute (492ms)
        ✓ should have correct text direction (439ms)
        ✓ should have basic page structure (418ms)
    Language Consistency
      ✓ should have consistent lang attribute across all pages for Swedish (1292ms)
      ✓ should have consistent lang attribute across all pages for German (1314ms)
      ✓ should have consistent lang attribute across all pages for Arabic (1439ms)
      ✓ should have consistent lang attribute across all pages for Japanese (1980ms)
      ✓ should have consistent lang attribute across all pages for Chinese (1609ms)
    RTL Language Specific Tests
      ✓ should have RTL dir attribute on all pages for Arabic (1439ms)
      ✓ should render RTL content properly for Arabic (372ms)
      ✓ should have RTL dir attribute on all pages for Hebrew (1298ms)
      ✓ should render RTL content properly for Hebrew (287ms)
    LTR Language Specific Tests
      ✓ should have LTR or default dir for Swedish on all pages (1236ms)
      ✓ should have LTR or default dir for German on all pages (1464ms)
      ✓ should have LTR or default dir for Japanese on all pages (2035ms)
      ✓ should have LTR or default dir for Chinese on all pages (1537ms)
    Language Switcher Functionality
      ✓ should have language switcher on all pages (1291ms)
      ✓ should allow switching between languages on homepage (2140ms)
    Responsive Design - All Languages
      ✓ should be responsive on Mobile for Swedish homepage (270ms)
      ✓ should be responsive on Desktop for Swedish homepage (265ms)
      ✓ should be responsive on Mobile for Arabic homepage (399ms)
      ✓ should be responsive on Desktop for Arabic homepage (325ms)
      ✓ should be responsive on Mobile for Japanese homepage (613ms)
      ✓ should be responsive on Desktop for Japanese homepage (574ms)
    Meta Tags - All Languages
      ✓ should have proper meta tags for Swedish (278ms)
      ✓ should have proper meta tags for Arabic (323ms)
      ✓ should have proper meta tags for Chinese (486ms)
    Accessibility - All Languages
      ✓ should have accessible structure for Swedish (420ms)
      ✓ should have accessible structure for Hebrew (340ms)
      ✓ should have accessible structure for Korean (414ms)
    Performance - All Languages
      ✓ should load quickly for Swedish (268ms)
      ✓ should load quickly for Arabic (311ms)
      ✓ should load quickly for Japanese (615ms)
    Content Validation - Sample Languages
      ✓ should have meaningful content for Swedish (281ms)
      ✓ should have meaningful content for Arabic (427ms)
      ✓ should have meaningful content for Japanese (596ms)

  Multi-Language Cross-Page Navigation
    ✓ should maintain language when navigating for sv (1693ms)
    ✓ should maintain language when navigating for de (1942ms)
    ✓ should maintain language when navigating for ar (1877ms)
    ✓ should maintain language when navigating for ja (2839ms)


  97 passing (1m)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        97                                                                               │
  │ Passing:      97                                                                               │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     1 minute, 15 seconds                                                             │
  │ Spec Ran:     multi-language-sanity.cy.js                                                      │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


====================================================================================================

  (Run Finished)


       Spec                                              Tests  Passing  Failing  Pending  Skipped  
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ✔  multi-language-sanity.cy.js              01:15       97       97        -        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ✔  All specs passed!                        01:15       97       97        -        -        -  


===== e2e-output-news.log =====
1: starting server using command "npm run preview"
and when url "[ 'http://localhost:4173' ]" is responding with HTTP status code 200
running tests using command "npx cypress run --config video=false --spec 'cypress/e2e/news-page.cy.js,cypress/e2e/news-articles.cy.js'"


> riksdagsmonitor@1.0.79 preview
> vite preview

  ➜  Local:   http://localhost:4173/
  ➜  Network: http://10.1.0.48:4173/  eth0
It looks like this is your first time using Cypress: 16.0.0

[STARTED] [19:01:23]  Verifying Cypress can run /home/runner/.cache/Cypress/16.0.0/Cypress
[COMPLETED] [19:01:32]  Verified Cypress!       /home/runner/.cache/Cypress/16.0.0/Cypress

Opening Cypress...
The experimentalMemoryManagement configuration option was removed in Cypress version 16.0.0. Memory management is now enabled by default under the manageBrowserMemory option.

Please remove experimentalMemoryManagement from your configuration. To keep memory management disabled, set manageBrowserMemory: false.


====================================================================================================

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        16.0.0                                                                         │
  │ Browser:        Electron 146 (headless) (deprecated)                                           │
  │ Node Version:   v26.8.2 (/opt/hostedtoolcache/node/26.8.2/x64/bin/node)                        │
  │ Specs:          2 found (news-page.cy.js, news-articles.cy.js)                                 │
  │ Searched:       cypress/e2e/news-page.cy.js, cypress/e2e/news-articles.cy.js                   │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘

Warning: The Electron browser is deprecated as a test browser and will be removed in a future version of Cypress.

Switch to Chrome or another installed browser to avoid a breaking change when you upgrade.

Read more about supported browsers: https://on.cypress.io/launching-browsers


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  news-page.cy.js                                                                 (1 of 2)


  News Page - Main English Version
    ✓ should load news page successfully (453ms)
    ✓ should have proper document structure (238ms)
    ✓ should display page heading (246ms)
    ✓ should have navigation menu (203ms)
    ✓ should have language switcher for all 14 languages (194ms)
    ✓ should display news articles or article list (225ms)
    ✓ should have news article links (165ms)
    ✓ should be responsive on mobile (272ms)
    ✓ should be responsive on tablet (303ms)
    ✓ should be responsive on desktop (228ms)
    ✓ should have proper meta tags (169ms)
    ✓ should have link back to homepage (191ms)
    ✓ should load CSS styles (261ms)
    ✓ should load JavaScript (if any) (228ms)

  News Page - All Language Variants
    Swedish (SV)
      ✓ should load Swedish news page (231ms)
      ✓ should have correct dir attribute for Swedish (241ms)
      ✓ should have proper page structure for Swedish (225ms)
      ✓ should be responsive for Swedish (343ms)
    German (DE)
      ✓ should load German news page (284ms)
      ✓ should have correct dir attribute for German (261ms)
      ✓ should have proper page structure for German (198ms)
      ✓ should be responsive for German (286ms)
    Arabic (AR)
      ✓ should load Arabic news page (314ms)
      ✓ should have correct dir attribute for Arabic (271ms)
      ✓ should have proper page structure for Arabic (241ms)
      ✓ should be responsive for Arabic (351ms)
    Hebrew (HE)
      ✓ should load Hebrew news page (271ms)
      ✓ should have correct dir attribute for Hebrew (265ms)
      ✓ should have proper page structure for Hebrew (287ms)
      ✓ should be responsive for Hebrew (336ms)
    Japanese (JA)
      ✓ should load Japanese news page (453ms)
      ✓ should have correct dir attribute for Japanese (311ms)
      ✓ should have proper page structure for Japanese (261ms)
      ✓ should be responsive for Japanese (416ms)

  News Page - Accessibility
    ✓ should have valid HTML lang attribute (163ms)
    ✓ should have proper heading hierarchy (186ms)
    ✓ should have alt text on images (if any) (185ms)
    ✓ should be keyboard navigable (199ms)
    ✓ should have visible focus indicators (185ms)
    ✓ should have semantic HTML for articles (215ms)

  News Page - Navigation
    ✓ should navigate from homepage to news page (591ms)
    ✓ should navigate from news page back to homepage (485ms)
    ✓ should support language switching on news page (557ms)
    ✓ should link to individual news articles (509ms)

  News Page - Performance
    ✓ should load news page within reasonable time (198ms)
    ✓ should handle errors gracefully (234ms)

  News Page - RTL Support
    ✓ should have proper RTL layout for Arabic (258ms)
    ✓ should have proper RTL layout for Hebrew (235ms)

  News Page - Content Validation
    ✓ should have news metadata (dates, categories) (215ms)
    ✓ should have proper article structure (175ms)
    ✓ should have readable text content (230ms)

  News Page - Article Categories
    ✓ should show different news categories or types (212ms)


  52 passing (17s)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        52                                                                               │
  │ Passing:      52                                                                               │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     16 seconds                                                                       │
  │ Spec Ran:     news-page.cy.js                                                                  │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


────────────────────────────────────────────────────────────────────────────────────────────────────
                                                                                                    
  Running:  news-articles.cy.js                                                             (2 of 2)


  News Articles
    Sample Article Loading
      ✓ should load article: /news/2026-02-14-committee-reports-en.html (225ms)
      ✓ should load article: /news/2026-02-14-government-propositions-en.html (151ms)
      ✓ should load article: /news/2026-02-14-opposition-motions-en.html (142ms)
      ✓ should load article: /news/2026-02-14-week-ahead-feb-15-21-en.html (146ms)
      ✓ should load article: /news/2026-02-13-evening-analysis-en.html (107ms)
    Article Page Structure
      ✓ should have proper document structure (157ms)
      ✓ should have article heading (115ms)
      ✓ should have article content (97ms)
      ✓ should have proper meta tags (108ms)
      ✓ should have Open Graph tags for social sharing (118ms)
      ✓ should have article metadata (97ms)
      ✓ should have readable typography (102ms)
    Article Content Validation
      ✓ should have paragraphs (105ms)
      ✓ should have headings hierarchy (106ms)
      ✓ should not have Lorem Ipsum placeholder text (97ms)
      ✓ should have substantial content (127ms)
    Multi-Language Article Support
      ✓ should load English article version (79ms)
      ✓ should load Swedish article version (79ms)
      ✓ should load Danish article version (152ms)
      ✓ should load Norwegian article version (104ms)
      ✓ should load Finnish article version (106ms)
      ✓ should have language switcher or alternatives (117ms)
    RTL Article Support
      ✓ should have proper RTL layout for Arabic (164ms)
      ✓ should have proper RTL layout for Hebrew (124ms)
    Article Navigation
      ✓ should have navigation back to news index (150ms)
      ✓ should have navigation to homepage (101ms)
      ✓ should have header navigation (103ms)
    Article Responsive Design
      ✓ should be readable on Mobile (375x667) (155ms)
      ✓ should be readable on Tablet (768x1024) (100ms)
      ✓ should be readable on Desktop (1280x720) (87ms)
      ✓ should be readable on Large Desktop (1920x1080) (88ms)
      ✓ should have mobile-optimized reading experience (155ms)
    Article Accessibility
      ✓ should have proper heading hierarchy (103ms)
      ✓ should have alt text on images (173ms)
      ✓ should have keyboard navigable links (135ms)
      ✓ should have semantic HTML (106ms)
    Article Performance
      ✓ should load quickly (113ms)
      ✓ should not have JavaScript errors (96ms)
    Article SEO
      ✓ should have canonical URL (75ms)
      ✓ should have description meta tag (109ms)
      ✓ should have relevant keywords (102ms)
    Article Categories
      ✓ should load committee-reports article (102ms)
      ✓ should load government-propositions article (111ms)
      ✓ should load opposition-motions article (186ms)
      ✓ should load week-ahead article (103ms)
      ✓ should load evening-analysis article (96ms)


  46 passing (7s)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        46                                                                               │
  │ Passing:      46                                                                               │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     7 seconds                                                                        │
  │ Spec Ran:     news-articles.cy.js                                                              │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


====================================================================================================

  (Run Finished)


       Spec                                              Tests  Passing  Failing  Pending  Skipped  
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ✔  news-page.cy.js                          00:16       52       52        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  news-articles.cy.js                      00:07       46       46        -        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ✔  All specs passed!                        00:23       98       98        -        -        -  


← Back to Documentation Hub