🎭 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.53 preview
> vite preview

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

[STARTED] [19:13:37]  Verifying Cypress can run /home/runner/.cache/Cypress/15.19.0/Cypress
[COMPLETED] [19:13:40]  Verified Cypress!       /home/runner/.cache/Cypress/15.19.0/Cypress

Opening Cypress...
Warning: The allowCypressEnv configuration option is enabled. This allows any browser code to read values from Cypress.env(). This is insecure and will be removed in a future major version.

1. Replace Cypress.env() calls with cy.env() (for sensitive values) or Cypress.expose() (for public configuration)
2. Set allowCypressEnv: false in your Cypress configuration to disable Cypress.env()

Learn more: https://on.cypress.io/cypress-env-migration


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

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        15.19.0                                                                        │
  │ Browser:        Electron 138 (headless)                                                        │
  │ Node Version:   v26.5.1 (/opt/hostedtoolcache/node/26.5.1/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                                                                       │
  │ Experiments:    experimentalMemoryManagement=true                                              │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


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


  Riksdagsmonitor Homepage
    ✓ should load homepage successfully (832ms)
    ✓ should have proper document structure (269ms)
    ✓ should display site logo/title (274ms)
    ✓ should have navigation menu (252ms)
    ✓ should be responsive on mobile (328ms)
    ✓ should be responsive on tablet (310ms)
    ✓ should be responsive on desktop (278ms)
    ✓ should have language switcher (225ms)
    ✓ should use system-ui font stack (no third-party font CDN) (245ms)
    ✓ should have proper meta tags (271ms)
    ✓ should have Open Graph tags (224ms)
    ✓ should have Twitter Card tags (217ms)
    ✓ should expose the Service Worker API for PWA install + offline support (246ms)


  13 passing (5s)


  (Results)

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


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


  Accessibility (WCAG 2.1 AA)
    ✓ should have valid HTML structure (453ms)
    ✓ should have proper heading hierarchy (376ms)
    ✓ should have alt text on images (295ms)
    ✓ should have labels for form inputs (240ms)
    ✓ should have ARIA roles on interactive elements (303ms)
    ✓ should have visible focus indicators (296ms)
    ✓ should be keyboard navigable (321ms)
    ✓ should have sufficient color contrast (296ms)
    ✓ should have language attribute on HTML tag (327ms)
    ✓ should have skip to content link (425ms)
    ✓ should have skip link as first focusable element (360ms)
    ✓ should support reduced motion preference (626ms)

  Multi-Language Support
    ✓ should load SV version (262ms)
    ✓ should load DA version (247ms)
    ✓ should load NO version (312ms)
    ✓ should load FI version (323ms)
    ✓ should load DE version (273ms)
    ✓ should load FR version (295ms)
    ✓ should load ES version (294ms)
    ✓ should load NL version (277ms)
    ✓ should load AR version (462ms)
    ✓ should load HE version (367ms)
    ✓ should load JA version (689ms)
    ✓ should load KO version (556ms)
    ✓ should load ZH version (497ms)
    ✓ should have proper RTL support for Arabic (287ms)
    ✓ should have proper RTL support for Hebrew (271ms)
    ✓ should have language switcher links (288ms)


  28 passing (12s)


  (Results)

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


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


  Sitemap Pages
    English Sitemap
      ✓ should load sitemap successfully (660ms)
      ✓ should have proper document structure (365ms)
      ✓ should have sitemap heading (334ms)
      ✓ should have multiple links (322ms)
      ✓ should have organized sections (320ms)
      ✓ should have links to main pages (321ms)
      ✓ should have valid internal links (345ms)
      ✓ should have proper meta tags (375ms)
      ✓ should be responsive on mobile (417ms)
    Multi-Language Sitemap Support
      Swedish Sitemap (sv)
        ✓ should load Swedish sitemap successfully (307ms)
        ✓ should have proper lang attribute for Swedish (289ms)
        ✓ should have proper dir attribute for Swedish (352ms)
        ✓ should have links in Swedish (314ms)
        ✓ should have sitemap heading in Swedish (284ms)
      Danish Sitemap (da)
        ✓ should load Danish sitemap successfully (294ms)
        ✓ should have proper lang attribute for Danish (358ms)
        ✓ should have proper dir attribute for Danish (264ms)
        ✓ should have links in Danish (293ms)
        ✓ should have sitemap heading in Danish (308ms)
      Norwegian Sitemap (no)
        ✓ should load Norwegian sitemap successfully (269ms)
        ✓ should have proper lang attribute for Norwegian (259ms)
        ✓ should have proper dir attribute for Norwegian (260ms)
        ✓ should have links in Norwegian (312ms)
        ✓ should have sitemap heading in Norwegian (303ms)
      Finnish Sitemap (fi)
        ✓ should load Finnish sitemap successfully (288ms)
        ✓ should have proper lang attribute for Finnish (333ms)
        ✓ should have proper dir attribute for Finnish (272ms)
        ✓ should have links in Finnish (263ms)
        ✓ should have sitemap heading in Finnish (267ms)
      German Sitemap (de)
        ✓ should load German sitemap successfully (339ms)
        ✓ should have proper lang attribute for German (264ms)
        ✓ should have proper dir attribute for German (248ms)
        ✓ should have links in German (294ms)
        ✓ should have sitemap heading in German (268ms)
      French Sitemap (fr)
        ✓ should load French sitemap successfully (344ms)
        ✓ should have proper lang attribute for French (289ms)
        ✓ should have proper dir attribute for French (271ms)
        ✓ should have links in French (304ms)
        ✓ should have sitemap heading in French (263ms)
      Spanish Sitemap (es)
        ✓ should load Spanish sitemap successfully (279ms)
        ✓ should have proper lang attribute for Spanish (257ms)
        ✓ should have proper dir attribute for Spanish (272ms)
        ✓ should have links in Spanish (336ms)
        ✓ should have sitemap heading in Spanish (257ms)
      Dutch Sitemap (nl)
        ✓ should load Dutch sitemap successfully (259ms)
        ✓ should have proper lang attribute for Dutch (297ms)
        ✓ should have proper dir attribute for Dutch (333ms)
        ✓ should have links in Dutch (264ms)
        ✓ should have sitemap heading in Dutch (303ms)
      Arabic Sitemap (ar)
        ✓ should load Arabic sitemap successfully (536ms)
        ✓ should have proper lang attribute for Arabic (533ms)
        ✓ should have proper dir attribute for Arabic (493ms)
        ✓ should have links in Arabic (587ms)
        ✓ should have sitemap heading in Arabic (495ms)
      Hebrew Sitemap (he)
        ✓ should load Hebrew sitemap successfully (340ms)
        ✓ should have proper lang attribute for Hebrew (354ms)
        ✓ should have proper dir attribute for Hebrew (374ms)
        ✓ should have links in Hebrew (327ms)
        ✓ should have sitemap heading in Hebrew (370ms)
      Japanese Sitemap (ja)
        ✓ should load Japanese sitemap successfully (4001ms)
        ✓ should have proper lang attribute for Japanese (3805ms)
        ✓ should have proper dir attribute for Japanese (3620ms)
        ✓ should have links in Japanese (3600ms)
        ✓ should have sitemap heading in Japanese (3624ms)
      Korean Sitemap (ko)
        ✓ should load Korean sitemap successfully (916ms)
        ✓ should have proper lang attribute for Korean (815ms)
        ✓ should have proper dir attribute for Korean (748ms)
        ✓ should have links in Korean (726ms)
        ✓ should have sitemap heading in Korean (774ms)
      Chinese Sitemap (zh)
        ✓ should load Chinese sitemap successfully (983ms)
        ✓ should have proper lang attribute for Chinese (707ms)
        ✓ should have proper dir attribute for Chinese (819ms)
        ✓ should have links in Chinese (988ms)
        ✓ should have sitemap heading in Chinese (777ms)
    RTL Sitemap Support
      ✓ should have proper RTL layout for Arabic (580ms)
      ✓ should have proper RTL layout for Hebrew (377ms)
    Sitemap Link Organization
      ✓ should have dashboard links (326ms)
      ✓ should have news links (348ms)
      ✓ should have language variant links (281ms)
    Sitemap Accessibility
      ✓ should have proper heading hierarchy (284ms)
      ✓ should have keyboard navigable links (517ms)
      ✓ should have descriptive link text (336ms)
      ✓ should not have empty links (2560ms)
    Sitemap Performance
      ✓ should load quickly (365ms)
      ✓ should not have broken internal links (sample) (536ms)
    Sitemap Responsive Design
      ✓ should be responsive on Mobile (387ms)
      ✓ should be responsive on Tablet (404ms)
      ✓ should be responsive on Desktop (362ms)
    Sitemap Navigation
      ✓ should have link back to homepage (294ms)
      ✓ should have navigation menu (351ms)


  90 passing (1m)


  (Results)

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


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

  (Run Finished)


       Spec                                              Tests  Passing  Failing  Pending  Skipped  
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ✔  homepage.cy.js                           00:04       13       13        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  accessibility.cy.js                      00:12       28       28        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  sitemap.cy.js                            01:00       90       90        -        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ✔  All specs passed!                        01:17      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.53 preview
> vite preview

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

[STARTED] [19:13:29]  Verifying Cypress can run /home/runner/.cache/Cypress/15.19.0/Cypress
[COMPLETED] [19:13:30]  Verified Cypress!       /home/runner/.cache/Cypress/15.19.0/Cypress

Opening Cypress...
Warning: The allowCypressEnv configuration option is enabled. This allows any browser code to read values from Cypress.env(). This is insecure and will be removed in a future major version.

1. Replace Cypress.env() calls with cy.env() (for sensitive values) or Cypress.expose() (for public configuration)
2. Set allowCypressEnv: false in your Cypress configuration to disable Cypress.env()

Learn more: https://on.cypress.io/cypress-env-migration


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

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        15.19.0                                                                        │
  │ Browser:        Electron 138 (headless)                                                        │
  │ Node Version:   v26.5.1 (/opt/hostedtoolcache/node/26.5.1/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       │
  │ Experiments:    experimentalMemoryManagement=true                                              │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


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


  All Dashboards - Comprehensive Coverage
    Party Dashboard
      ✓ should mount the dashboard container and remain visible (575ms)
      ✓ should have dashboard heading (475ms)
      ✓ should have data attribution (320ms)
      Chart.js Charts
        ✓ should have partyEffectivenessChart canvas (314ms)
        ✓ partyEffectivenessChart should be rendered by Chart.js (769ms)
        ✓ should have partyComparisonChart canvas (312ms)
        ✓ partyComparisonChart should be rendered by Chart.js (839ms)
        ✓ should have partyMomentumChart canvas (319ms)
        ✓ partyMomentumChart should be rendered by Chart.js (734ms)
      D3.js Visualizations
        ✓ should have coalitionAlignmentChart container (316ms)
        ✓ coalitionAlignmentChart should render D3 SVG (277ms)
        ✓ coalitionAlignmentChart SVG should have content (236ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (309ms)
        ✓ should have screen reader descriptions (239ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (424ms)
        ✓ should be visible on tablet (768px) (281ms)
        ✓ should be visible on desktop (1440px) (262ms)
    Election Cycle Dashboard
      ✓ should mount the dashboard container and remain visible (214ms)
      ✓ should have dashboard heading (247ms)
      ✓ should have data attribution (206ms)
      Chart.js Charts
        ✓ should have cycle-timeline-chart canvas (241ms)
        ✓ cycle-timeline-chart should be rendered by Chart.js (675ms)
        ✓ should have risk-forecast-chart canvas (253ms)
        ✓ risk-forecast-chart should be rendered by Chart.js (620ms)
        ✓ should have temporal-trends-chart canvas (268ms)
        ✓ temporal-trends-chart should be rendered by Chart.js (657ms)
        ✓ should have party-tier-chart canvas (234ms)
        ✓ party-tier-chart should be rendered by Chart.js (606ms)
      D3.js Visualizations
        ✓ should have decision-heatmap container (250ms)
        ✓ decision-heatmap should render D3 SVG (245ms)
        ✓ decision-heatmap SVG should have content (260ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (282ms)
        ✓ should have screen reader descriptions (253ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (296ms)
        ✓ should be visible on tablet (768px) (289ms)
        ✓ should be visible on desktop (1440px) (269ms)
    Committee Dashboard
      ✓ should mount the dashboard container and remain visible (290ms)
      ✓ should have dashboard heading (609ms)
      ✓ should have data attribution (217ms)
      Chart.js Charts
        ✓ should have committeeComparisonChart canvas (245ms)
        ✓ committeeComparisonChart should be rendered by Chart.js (3350ms)
        ✓ should have decisionEffectivenessChart canvas (243ms)
        ✓ decisionEffectivenessChart should be rendered by Chart.js (3622ms)
        ✓ should have seasonalPatternsChart canvas (280ms)
        ✓ seasonalPatternsChart should be rendered by Chart.js (3384ms)
      D3.js Visualizations
        ✓ should have committeeNetwork container (308ms)
        ✓ committeeNetwork should render D3 SVG (265ms)
        ✓ committeeNetwork SVG should have content (295ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (277ms)
        ✓ should have screen reader descriptions (262ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (344ms)
        ✓ should be visible on tablet (768px) (338ms)
        ✓ should be visible on desktop (1440px) (291ms)
    Coalition Dashboard
      ✓ should mount the dashboard container and remain visible (260ms)
      ✓ should have dashboard heading (256ms)
      ✓ should have data attribution (245ms)
      Chart.js Charts
        ✓ should have votingAnomalyChart canvas (276ms)
        ✓ votingAnomalyChart should be rendered by Chart.js (597ms)
        ✓ should have behavioralPatternsChart canvas (252ms)
        ✓ behavioralPatternsChart should be rendered by Chart.js (634ms)
        ✓ should have decisionTrendsChart canvas (260ms)
        ✓ decisionTrendsChart should be rendered by Chart.js (612ms)
      D3.js Visualizations
        ✓ should have coalitionNetwork container (254ms)
        ✓ coalitionNetwork should render D3 SVG (279ms)
        ✓ coalitionNetwork SVG should have content (256ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (247ms)
        ✓ should have screen reader descriptions (255ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (379ms)
        ✓ should be visible on tablet (768px) (385ms)
        ✓ should be visible on desktop (1440px) (278ms)
    Seasonal Patterns Dashboard
      ✓ should mount the dashboard container and remain visible (283ms)
      ✓ should have dashboard heading (256ms)
      ✓ should have data attribution (265ms)
      Chart.js Charts
        ✓ should have zscore-timeline-chart canvas (284ms)
        ✓ zscore-timeline-chart should be rendered by Chart.js (983ms)
        ✓ should have quarter-comparison-chart canvas (333ms)
        ✓ quarter-comparison-chart should be rendered by Chart.js (644ms)
        ✓ should have classification-chart canvas (260ms)
        ✓ classification-chart should be rendered by Chart.js (704ms)
        ✓ should have qoq-change-chart canvas (247ms)
        ✓ qoq-change-chart should be rendered by Chart.js (688ms)
      D3.js Visualizations
        ✓ should have seasonal-heatmap container (254ms)
        ✓ seasonal-heatmap should render D3 SVG (355ms)
        ✓ seasonal-heatmap SVG should have content (291ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (279ms)
        ✓ should have screen reader descriptions (279ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (381ms)
        ✓ should be visible on tablet (768px) (276ms)
        ✓ should be visible on desktop (1440px) (307ms)
    Pre-Election Dashboard
      ✓ should mount the dashboard container and remain visible (262ms)
      ✓ should have dashboard heading (260ms)
      ✓ should have data attribution (251ms)
      Chart.js Charts
        ✓ should have q4-timeline-chart canvas (285ms)
        ✓ q4-timeline-chart should be rendered by Chart.js (616ms)
        ✓ should have election-comparison-chart canvas (289ms)
        ✓ election-comparison-chart should be rendered by Chart.js (655ms)
        ✓ should have deviation-radar-chart canvas (258ms)
        ✓ deviation-radar-chart should be rendered by Chart.js (723ms)
        ✓ should have party-trends-chart canvas (295ms)
        ✓ party-trends-chart should be rendered by Chart.js (572ms)
        ✓ should have yoy-waterfall-chart canvas (321ms)
        ✓ yoy-waterfall-chart should be rendered by Chart.js (652ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (282ms)
        ✓ should have screen reader descriptions (304ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (305ms)
        ✓ should be visible on tablet (768px) (282ms)
        ✓ should be visible on desktop (1440px) (281ms)
    Anomaly Detection Dashboard
      ✓ should mount the dashboard container and remain visible (252ms)
      ✓ should have dashboard heading (253ms)
      ✓ should have data attribution (344ms)
      Chart.js Charts
        ✓ should have anomaly-timeline-chart canvas (250ms)
        ✓ anomaly-timeline-chart should be rendered by Chart.js (598ms)
        ✓ should have zscore-distribution-chart canvas (238ms)
        ✓ zscore-distribution-chart should be rendered by Chart.js (644ms)
        ✓ should have anomaly-type-chart canvas (251ms)
        ✓ anomaly-type-chart should be rendered by Chart.js (603ms)
        ✓ should have quarterly-frequency-chart canvas (252ms)
        ✓ quarterly-frequency-chart should be rendered by Chart.js (773ms)
      D3.js Visualizations
        ✓ should have severity-heatmap container (232ms)
        ✓ severity-heatmap should render D3 SVG (274ms)
        ✓ severity-heatmap SVG should have content (240ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (282ms)
        ✓ should have screen reader descriptions (285ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (378ms)
        ✓ should be visible on tablet (768px) (270ms)
        ✓ should be visible on desktop (1440px) (273ms)
    Ministry Dashboard
      ✓ should mount the dashboard container and remain visible (252ms)
      ✓ should have dashboard heading (247ms)
      ✓ should have data attribution (244ms)
      Chart.js Charts
        ✓ should have ministerInfluenceChart canvas (250ms)
        ✓ ministerInfluenceChart should be rendered by Chart.js (674ms)
        ✓ should have ministryProductivityChart canvas (244ms)
        ✓ ministryProductivityChart should be rendered by Chart.js (686ms)
        ✓ should have decisionImpactChart canvas (268ms)
        ✓ decisionImpactChart should be rendered by Chart.js (794ms)
      D3.js Visualizations
        ✓ should have ministryRiskHeatMap container (240ms)
        ✓ ministryRiskHeatMap should render D3 SVG (307ms)
        ✓ ministryRiskHeatMap SVG should have content (248ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (258ms)
        ✓ should have screen reader descriptions (313ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (325ms)
        ✓ should be visible on tablet (768px) (274ms)
        ✓ should be visible on desktop (1440px) (378ms)
    Risk Dashboard
      ✓ should mount the dashboard container and remain visible (259ms)
      ✓ should have dashboard heading (378ms)
      ✓ should have data attribution (242ms)
      Chart.js Charts
        ✓ should have riskDistributionChart canvas (262ms)
        ✓ riskDistributionChart should be rendered by Chart.js (1401ms)
        ✓ should have anomalyDetectionChart canvas (260ms)
        ✓ anomalyDetectionChart should be rendered by Chart.js (1361ms)
        ✓ should have crisisResilienceChart canvas (243ms)
        ✓ crisisResilienceChart should be rendered by Chart.js (1276ms)
        ✓ should have riskEvolutionChart canvas (313ms)
        ✓ riskEvolutionChart should be rendered by Chart.js (1317ms)
      D3.js Visualizations
        ✓ should have riskHeatMap container (247ms)
        ✓ riskHeatMap should render D3 SVG (1102ms)
        ✓ riskHeatMap SVG should have content (253ms)
      Accessibility
        ✓ should have ARIA labels on charts (where present) (365ms)
        ✓ should have screen reader descriptions (229ms)
      Responsive Design
        ✓ should be visible on mobile (375px) (352ms)
        ✓ should be visible on tablet (768px) (310ms)
        ✓ should be visible on desktop (1440px) (333ms)
    Dashboard Integration
      ✓ all 9 dashboards should have a unique slug + container ID (59ms)
      ✓ home page hub should link to every dashboard slug (301ms)
      ✓ every dashboard page should expose a back-to-home link (2606ms)
      ✓ every dashboard page should link to the other 8 dashboards via related-dashboards aside (3078ms)
    Performance
      ✓ every dashboard page should mount its container within 5s (2564ms)
      ✓ parties dashboard renders its first Chart.js canvas with Chart.js instance (737ms)


  168 passing (4m)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        168                                                                              │
  │ Passing:      168                                                                              │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     3 minutes, 47 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 (492ms)
      ✓ should have proper document structure (364ms)
      ✓ should have dashboard header (256ms)
      ✓ should have chart cards container (198ms)
      ✓ should have proper meta tags (217ms)
      ✓ should have Open Graph tags (220ms)
      ✓ should have canonical link (218ms)
    Chart and Visualization Elements
      ✓ should have chart containers (233ms)
      ✓ should load Chart.js library (324ms)
      ✓ should have chart cards with proper styling (279ms)
      ✓ should have chart titles (279ms)
      ✓ should render canvas elements for charts (229ms)
    Politician Data Display
      ✓ should display politician rankings or data (246ms)
      ✓ should have top rankings section (329ms)
    Responsive Design
      ✓ should be responsive on Mobile (375x667) (276ms)
      ✓ should be responsive on Tablet (768x1024) (296ms)
      ✓ should be responsive on Desktop (1280x720) (217ms)
      ✓ should be responsive on Large Desktop (1920x1080) (312ms)
      ✓ should have mobile-friendly grid layout (311ms)
    Accessibility (WCAG 2.1 AA)
      ✓ should have proper language attribute (198ms)
      ✓ should have proper heading hierarchy (227ms)
      ✓ should have ARIA labels on interactive elements (222ms)
      ✓ should have alt text on images (235ms)
      ✓ should be keyboard navigable (239ms)
      ✓ should have sufficient color contrast (251ms)
    Navigation and Links
      ✓ should have navigation back to homepage (208ms)
      ✓ should have working internal links (263ms)
    Performance
      ✓ should load page within reasonable time (528ms)
      ✓ should not have JavaScript errors (404ms)
    Data Loading States
      ✓ should handle empty state gracefully (237ms)
      ✓ should have loading indicators or data display (172ms)
    CSS and Styling
      ✓ should not load any third-party font CDN (system-ui font stack) (290ms)
      ✓ should have custom styling loaded (323ms)
      ✓ should have cyberpunk theme elements (292ms)


  34 passing (12s)


  (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:47      168      168        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  politician-dashboard.cy.js               00:12       34       34        -        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ✔  All specs passed!                        03:59      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.53 preview
> vite preview

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

[STARTED] [19:13:56]  Verifying Cypress can run /home/runner/.cache/Cypress/15.19.0/Cypress
[COMPLETED] [19:14:04]  Verified Cypress!       /home/runner/.cache/Cypress/15.19.0/Cypress

Opening Cypress...
Warning: The allowCypressEnv configuration option is enabled. This allows any browser code to read values from Cypress.env(). This is insecure and will be removed in a future major version.

1. Replace Cypress.env() calls with cy.env() (for sensitive values) or Cypress.expose() (for public configuration)
2. Set allowCypressEnv: false in your Cypress configuration to disable Cypress.env()

Learn more: https://on.cypress.io/cypress-env-migration


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

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        15.19.0                                                                        │
  │ Browser:        Electron 138 (headless)                                                        │
  │ Node Version:   v26.5.1 (/opt/hostedtoolcache/node/26.5.1/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                                                       │
  │ Experiments:    experimentalMemoryManagement=true                                              │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


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


  Dashboard Page - Main English Version
    ✓ should load dashboard page successfully (2146ms)
    ✓ should have proper document structure (316ms)
    ✓ should display page heading (425ms)
    ✓ should have navigation menu (273ms)
    ✓ should have language switcher for all 14 languages (307ms)
    ✓ should have CIA data visualization containers (395ms)
    ✓ should be responsive on mobile (389ms)
    ✓ should be responsive on tablet (289ms)
    ✓ should be responsive on desktop (362ms)
    ✓ should have proper meta tags (339ms)
    ✓ should have link back to homepage (396ms)
    ✓ should load CSS styles (266ms)
    ✓ should load JavaScript modules (260ms)

  Dashboard Page - All Language Variants
    Swedish (SV)
      ✓ should load Swedish dashboard page (320ms)
      ✓ should have correct dir attribute for Swedish (361ms)
      ✓ should have proper page structure for Swedish (286ms)
      ✓ should be responsive for Swedish (290ms)
    Danish (DA)
      ✓ should load Danish dashboard page (375ms)
      ✓ should have correct dir attribute for Danish (417ms)
      ✓ should have proper page structure for Danish (388ms)
      ✓ should be responsive for Danish (469ms)
    Norwegian (NO)
      ✓ should load Norwegian dashboard page (390ms)
      ✓ should have correct dir attribute for Norwegian (319ms)
      ✓ should have proper page structure for Norwegian (373ms)
      ✓ should be responsive for Norwegian (480ms)
    Finnish (FI)
      ✓ should load Finnish dashboard page (270ms)
      ✓ should have correct dir attribute for Finnish (320ms)
      ✓ should have proper page structure for Finnish (381ms)
      ✓ should be responsive for Finnish (412ms)
    German (DE)
      ✓ should load German dashboard page (398ms)
      ✓ should have correct dir attribute for German (356ms)
      ✓ should have proper page structure for German (322ms)
      ✓ should be responsive for German (440ms)
    French (FR)
      ✓ should load French dashboard page (374ms)
      ✓ should have correct dir attribute for French (294ms)
      ✓ should have proper page structure for French (354ms)
      ✓ should be responsive for French (432ms)
    Spanish (ES)
      ✓ should load Spanish dashboard page (385ms)
      ✓ should have correct dir attribute for Spanish (365ms)
      ✓ should have proper page structure for Spanish (340ms)
      ✓ should be responsive for Spanish (337ms)
    Dutch (NL)
      ✓ should load Dutch dashboard page (288ms)
      ✓ should have correct dir attribute for Dutch (268ms)
      ✓ should have proper page structure for Dutch (306ms)
      ✓ should be responsive for Dutch (222ms)
    Arabic (AR)
      ✓ should load Arabic dashboard page (468ms)
      ✓ should have correct dir attribute for Arabic (258ms)
      ✓ should have proper page structure for Arabic (310ms)
      ✓ should be responsive for Arabic (291ms)
    Hebrew (HE)
      ✓ should load Hebrew dashboard page (279ms)
      ✓ should have correct dir attribute for Hebrew (503ms)
      ✓ should have proper page structure for Hebrew (363ms)
      ✓ should be responsive for Hebrew (381ms)
    Japanese (JA)
      ✓ should load Japanese dashboard page (371ms)
      ✓ should have correct dir attribute for Japanese (331ms)
      ✓ should have proper page structure for Japanese (383ms)
      ✓ should be responsive for Japanese (343ms)
    Korean (KO)
      ✓ should load Korean dashboard page (332ms)
      ✓ should have correct dir attribute for Korean (304ms)
      ✓ should have proper page structure for Korean (278ms)
      ✓ should be responsive for Korean (300ms)
    Chinese (ZH)
      ✓ should load Chinese dashboard page (343ms)
      ✓ should have correct dir attribute for Chinese (408ms)
      ✓ should have proper page structure for Chinese (368ms)
      ✓ should be responsive for Chinese (374ms)

  Dashboard Page - Accessibility
    ✓ should have valid HTML lang attribute (317ms)
    ✓ should have proper heading hierarchy (400ms)
    ✓ should have alt text on images (if any) (394ms)
    ✓ should have ARIA labels on charts (if any) (344ms)
    ✓ should be keyboard navigable (284ms)
    ✓ should have visible focus indicators (256ms)

  Dashboard Page - Navigation
    ✓ should navigate from homepage to dashboard (736ms)
    ✓ should navigate from dashboard back to homepage (944ms)
    ✓ should support language switching on dashboard page (288ms)

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

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


  78 passing (42s)


  (Results)

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


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


  Dashboard Functionality
    Party Dashboard
      ✓ should display party dashboard (393ms)
      ✓ should have party effectiveness chart (354ms)
      ✓ should have party comparison chart (284ms)
      ✓ should have coalition alignment chart (202ms)
      ✓ should have party momentum chart (280ms)
      ✓ should render charts after data loads (837ms)
    Anomaly Detection Dashboard
      ✓ should display anomaly dashboard (272ms)
      ✓ should have severity filter (253ms)
      ✓ should have type filter (278ms)
      ✓ should filter anomalies by severity (791ms)
      ✓ should display D3 heatmap (2232ms)
    Seasonal Patterns Dashboard
      ✓ should display seasonal patterns dashboard (271ms)
      ✓ should have year filter (227ms)
      ✓ should have quarter filter (209ms)
    Pre-Election Dashboard
      ✓ should display pre-election dashboard (206ms)
      ✓ should show status cards (196ms)
    Dashboard Accessibility
      ✓ should have ARIA labels on charts (244ms)
      ✓ should have screen reader text (266ms)
      ✓ should be keyboard navigable (227ms)
    Dashboard Performance
      ✓ should load dashboards within reasonable time (216ms)
      ✓ should handle data loading failures without crashing (223ms)
    Dashboard Bundle Integration
      ✓ /dashboards/parties.html ships hashed main bundle (no /src/browser/main.ts) (86ms)
      ✓ /dashboards/pre-election.html ships hashed main bundle (no /src/browser/main.ts) (52ms)
      ✓ /dashboards/coalitions.html ships hashed main bundle (no /src/browser/main.ts) (42ms)
      ✓ /dashboards/committees.html ships hashed main bundle (no /src/browser/main.ts) (42ms)
      ✓ /dashboards/seasonal-patterns.html ships hashed main bundle (no /src/browser/main.ts) (48ms)
      ✓ /dashboards/anomaly-detection.html ships hashed main bundle (no /src/browser/main.ts) (42ms)
      ✓ /dashboards/risk.html ships hashed main bundle (no /src/browser/main.ts) (44ms)
      ✓ /dashboards/ministers.html ships hashed main bundle (no /src/browser/main.ts) (42ms)
      ✓ /dashboards/election-cycle.html ships hashed main bundle (no /src/browser/main.ts) (42ms)
      ✓ runs main.ts → registers Chart.js global on dashboard pages (439ms)


  31 passing (12s)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        31                                                                               │
  │ Passing:      31                                                                               │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     11 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) (486ms)
      ✓ registers window.Chart and window.d3 without any user scroll (441ms)
      ✓ does not show a visible error fallback on first paint (401ms)
    /dashboards/committees.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (294ms)
      ✓ registers window.Chart and window.d3 without any user scroll (305ms)
      ✓ does not show a visible error fallback on first paint (331ms)
    /dashboards/coalitions.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (1016ms)
      ✓ registers window.Chart and window.d3 without any user scroll (370ms)
      ✓ does not show a visible error fallback on first paint (374ms)
    /dashboards/election-cycle.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (322ms)
      ✓ registers window.Chart and window.d3 without any user scroll (313ms)
      ✓ does not show a visible error fallback on first paint (310ms)
    /dashboards/seasonal-patterns.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (315ms)
      ✓ registers window.Chart and window.d3 without any user scroll (409ms)
      ✓ does not show a visible error fallback on first paint (316ms)
    /dashboards/pre-election.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (303ms)
      ✓ registers window.Chart and window.d3 without any user scroll (312ms)
      ✓ does not show a visible error fallback on first paint (323ms)
    /dashboards/anomaly-detection.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (295ms)
      ✓ registers window.Chart and window.d3 without any user scroll (303ms)
      ✓ does not show a visible error fallback on first paint (327ms)
    /dashboards/ministers.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (364ms)
      ✓ registers window.Chart and window.d3 without any user scroll (327ms)
      ✓ does not show a visible error fallback on first paint (391ms)
    /dashboards/risk.html
      ✓ serves the hashed main-*.js bundle (no dev /src/browser/main.ts) (265ms)
      ✓ registers window.Chart and window.d3 without any user scroll (309ms)
      ✓ does not show a visible error fallback on first paint (322ms)


  27 passing (12s)


  (Results)

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


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

  (Run Finished)


       Spec                                              Tests  Passing  Failing  Pending  Skipped  
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ✔  dashboard-page.cy.js                     00:41       78       78        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  dashboards.cy.js                         00:11       31       31        -        -        - │
  ├────────────────────────────────────────────────────────────────────────────────────────────────┤
  │ ✔  dashboards-no-scroll.cy.js               00:11       27       27        -        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ✔  All specs passed!                        01:05      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.53 preview
> vite preview

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

[STARTED] [19:13:48]  Verifying Cypress can run /home/runner/.cache/Cypress/15.19.0/Cypress
[COMPLETED] [19:13:55]  Verified Cypress!       /home/runner/.cache/Cypress/15.19.0/Cypress

Opening Cypress...
Warning: The allowCypressEnv configuration option is enabled. This allows any browser code to read values from Cypress.env(). This is insecure and will be removed in a future major version.

1. Replace Cypress.env() calls with cy.env() (for sensitive values) or Cypress.expose() (for public configuration)
2. Set allowCypressEnv: false in your Cypress configuration to disable Cypress.env()

Learn more: https://on.cypress.io/cypress-env-migration


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

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        15.19.0                                                                        │
  │ Browser:        Electron 138 (headless)                                                        │
  │ Node Version:   v26.5.1 (/opt/hostedtoolcache/node/26.5.1/x64/bin/node)                        │
  │ Specs:          1 found (multi-language-sanity.cy.js)                                          │
  │ Searched:       cypress/e2e/multi-language-sanity.cy.js                                        │
  │ Experiments:    experimentalMemoryManagement=true                                              │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


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


  Multi-Language Sanity Tests
    Homepage - Representative Languages
      ✓ should load Swedish (sv) homepage (925ms)
      ✓ should have proper lang attribute for Swedish (213ms)
      ✓ should have correct text direction for Swedish (238ms)
      ✓ should have basic page structure for Swedish (219ms)
      ✓ should load German (de) homepage (241ms)
      ✓ should have proper lang attribute for German (226ms)
      ✓ should have correct text direction for German (232ms)
      ✓ should have basic page structure for German (219ms)
      ✓ should load Arabic (ar) homepage (370ms)
      ✓ should have proper lang attribute for Arabic (248ms)
      ✓ should have correct text direction for Arabic (254ms)
      ✓ should have basic page structure for Arabic (283ms)
      ✓ should load Japanese (ja) homepage (630ms)
      ✓ should have proper lang attribute for Japanese (471ms)
      ✓ should have correct text direction for Japanese (569ms)
      ✓ should have basic page structure for Japanese (644ms)
      ✓ should load Chinese (zh) homepage (399ms)
      ✓ should have proper lang attribute for Chinese (347ms)
      ✓ should have correct text direction for Chinese (393ms)
      ✓ should have basic page structure for Chinese (360ms)
    Dashboard - Representative Languages
      ✓ should load Swedish (sv) dashboard (496ms)
      ✓ should have proper lang attribute for Swedish dashboard (684ms)
      ✓ should have correct text direction for Swedish dashboard (355ms)
      ✓ should have basic page structure for Swedish dashboard (367ms)
      ✓ should load German (de) dashboard (688ms)
      ✓ should have proper lang attribute for German dashboard (401ms)
      ✓ should have correct text direction for German dashboard (265ms)
      ✓ should have basic page structure for German dashboard (286ms)
      ✓ should load Arabic (ar) dashboard (656ms)
      ✓ should have proper lang attribute for Arabic dashboard (255ms)
      ✓ should have correct text direction for Arabic dashboard (470ms)
      ✓ should have basic page structure for Arabic dashboard (286ms)
      ✓ should load Japanese (ja) dashboard (870ms)
      ✓ should have proper lang attribute for Japanese dashboard (364ms)
      ✓ should have correct text direction for Japanese dashboard (328ms)
      ✓ should have basic page structure for Japanese dashboard (310ms)
      ✓ should load Chinese (zh) dashboard (638ms)
      ✓ should have proper lang attribute for Chinese dashboard (355ms)
      ✓ should have correct text direction for Chinese dashboard (269ms)
      ✓ should have basic page structure for Chinese dashboard (405ms)
    News - Representative Languages
      Swedish (sv)
        ✓ should load news page (359ms)
        ✓ should have proper lang attribute (262ms)
        ✓ should have correct text direction (251ms)
        ✓ should have basic page structure (285ms)
      German (de)
        ✓ should load news page (361ms)
        ✓ should have proper lang attribute (258ms)
        ✓ should have correct text direction (242ms)
        ✓ should have basic page structure (286ms)
      Arabic (ar)
        ✓ should load news page (370ms)
        ✓ should have proper lang attribute (307ms)
        ✓ should have correct text direction (337ms)
        ✓ should have basic page structure (328ms)
      Japanese (ja)
        ✓ should load news page (437ms)
        ✓ should have proper lang attribute (343ms)
        ✓ should have correct text direction (352ms)
        ✓ should have basic page structure (378ms)
      Chinese (zh)
        ✓ should load news page (393ms)
        ✓ should have proper lang attribute (338ms)
        ✓ should have correct text direction (332ms)
        ✓ should have basic page structure (428ms)
    Language Consistency
      ✓ should have consistent lang attribute across all pages for Swedish (1007ms)
      ✓ should have consistent lang attribute across all pages for German (1061ms)
      ✓ should have consistent lang attribute across all pages for Arabic (996ms)
      ✓ should have consistent lang attribute across all pages for Japanese (1437ms)
      ✓ should have consistent lang attribute across all pages for Chinese (1318ms)
    RTL Language Specific Tests
      ✓ should have RTL dir attribute on all pages for Arabic (1105ms)
      ✓ should render RTL content properly for Arabic (239ms)
      ✓ should have RTL dir attribute on all pages for Hebrew (1165ms)
      ✓ should render RTL content properly for Hebrew (231ms)
    LTR Language Specific Tests
      ✓ should have LTR or default dir for Swedish on all pages (1041ms)
      ✓ should have LTR or default dir for German on all pages (952ms)
      ✓ should have LTR or default dir for Japanese on all pages (1615ms)
      ✓ should have LTR or default dir for Chinese on all pages (1234ms)
    Language Switcher Functionality
      ✓ should have language switcher on all pages (959ms)
      ✓ should allow switching between languages on homepage (2319ms)
    Responsive Design - All Languages
      ✓ should be responsive on Mobile for Swedish homepage (214ms)
      ✓ should be responsive on Desktop for Swedish homepage (217ms)
      ✓ should be responsive on Mobile for Arabic homepage (237ms)
      ✓ should be responsive on Desktop for Arabic homepage (237ms)
      ✓ should be responsive on Mobile for Japanese homepage (428ms)
      ✓ should be responsive on Desktop for Japanese homepage (534ms)
    Meta Tags - All Languages
      ✓ should have proper meta tags for Swedish (291ms)
      ✓ should have proper meta tags for Arabic (253ms)
      ✓ should have proper meta tags for Chinese (386ms)
    Accessibility - All Languages
      ✓ should have accessible structure for Swedish (260ms)
      ✓ should have accessible structure for Hebrew (224ms)
      ✓ should have accessible structure for Korean (320ms)
    Performance - All Languages
      ✓ should load quickly for Swedish (299ms)
      ✓ should load quickly for Arabic (214ms)
      ✓ should load quickly for Japanese (483ms)
    Content Validation - Sample Languages
      ✓ should have meaningful content for Swedish (219ms)
      ✓ should have meaningful content for Arabic (233ms)
      ✓ should have meaningful content for Japanese (424ms)

  Multi-Language Cross-Page Navigation
    ✓ should maintain language when navigating for sv (1493ms)
    ✓ should maintain language when navigating for de (1444ms)
    ✓ should maintain language when navigating for ar (1599ms)
    ✓ should maintain language when navigating for ja (2235ms)


  97 passing (1m)


  (Results)

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


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

  (Run Finished)


       Spec                                              Tests  Passing  Failing  Pending  Skipped  
  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ ✔  multi-language-sanity.cy.js              01:00       97       97        -        -        - │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘
    ✔  All specs passed!                        01:00       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.53 preview
> vite preview

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

[STARTED] [19:14:00]  Verifying Cypress can run /home/runner/.cache/Cypress/15.19.0/Cypress
[COMPLETED] [19:14:05]  Verified Cypress!       /home/runner/.cache/Cypress/15.19.0/Cypress

Opening Cypress...
Warning: The allowCypressEnv configuration option is enabled. This allows any browser code to read values from Cypress.env(). This is insecure and will be removed in a future major version.

1. Replace Cypress.env() calls with cy.env() (for sensitive values) or Cypress.expose() (for public configuration)
2. Set allowCypressEnv: false in your Cypress configuration to disable Cypress.env()

Learn more: https://on.cypress.io/cypress-env-migration


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

  (Run Starting)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Cypress:        15.19.0                                                                        │
  │ Browser:        Electron 138 (headless)                                                        │
  │ Node Version:   v26.5.1 (/opt/hostedtoolcache/node/26.5.1/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                   │
  │ Experiments:    experimentalMemoryManagement=true                                              │
  └────────────────────────────────────────────────────────────────────────────────────────────────┘


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


  News Page - Main English Version
    ✓ should load news page successfully (677ms)
    ✓ should have proper document structure (273ms)
    ✓ should display page heading (299ms)
    ✓ should have navigation menu (280ms)
    ✓ should have language switcher for all 14 languages (249ms)
    ✓ should display news articles or article list (288ms)
    ✓ should have news article links (240ms)
    ✓ should be responsive on mobile (353ms)
    ✓ should be responsive on tablet (309ms)
    ✓ should be responsive on desktop (339ms)
    ✓ should have proper meta tags (245ms)
    ✓ should have link back to homepage (298ms)
    ✓ should load CSS styles (283ms)
    ✓ should load JavaScript (if any) (310ms)

  News Page - All Language Variants
    Swedish (SV)
      ✓ should load Swedish news page (399ms)
      ✓ should have correct dir attribute for Swedish (365ms)
      ✓ should have proper page structure for Swedish (370ms)
      ✓ should be responsive for Swedish (330ms)
    German (DE)
      ✓ should load German news page (303ms)
      ✓ should have correct dir attribute for German (327ms)
      ✓ should have proper page structure for German (319ms)
      ✓ should be responsive for German (305ms)
    Arabic (AR)
      ✓ should load Arabic news page (385ms)
      ✓ should have correct dir attribute for Arabic (389ms)
      ✓ should have proper page structure for Arabic (434ms)
      ✓ should be responsive for Arabic (435ms)
    Hebrew (HE)
      ✓ should load Hebrew news page (375ms)
      ✓ should have correct dir attribute for Hebrew (363ms)
      ✓ should have proper page structure for Hebrew (407ms)
      ✓ should be responsive for Hebrew (362ms)
    Japanese (JA)
      ✓ should load Japanese news page (412ms)
      ✓ should have correct dir attribute for Japanese (486ms)
      ✓ should have proper page structure for Japanese (367ms)
      ✓ should be responsive for Japanese (411ms)

  News Page - Accessibility
    ✓ should have valid HTML lang attribute (233ms)
    ✓ should have proper heading hierarchy (246ms)
    ✓ should have alt text on images (if any) (268ms)
    ✓ should be keyboard navigable (259ms)
    ✓ should have visible focus indicators (278ms)
    ✓ should have semantic HTML for articles (224ms)

  News Page - Navigation
    ✓ should navigate from homepage to news page (675ms)
    ✓ should navigate from news page back to homepage (605ms)
    ✓ should support language switching on news page (1653ms)
    ✓ should link to individual news articles (761ms)

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

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

  News Page - Content Validation
    ✓ should have news metadata (dates, categories) (247ms)
    ✓ should have proper article structure (238ms)
    ✓ should have readable text content (342ms)

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


  52 passing (23s)


  (Results)

  ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
  │ Tests:        52                                                                               │
  │ Passing:      52                                                                               │
  │ Failing:      0                                                                                │
  │ Pending:      0                                                                                │
  │ Skipped:      0                                                                                │
  │ Screenshots:  0                                                                                │
  │ Video:        false                                                                            │
  │ Duration:     22 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 (331ms)
      ✓ should load article: /news/2026-02-14-government-propositions-en.html (212ms)
      ✓ should load article: /news/2026-02-14-opposition-motions-en.html (155ms)
      ✓ should load article: /news/2026-02-14-week-ahead-feb-15-21-en.html (147ms)
      ✓ should load article: /news/2026-02-13-evening-analysis-en.html (135ms)
    Article Page Structure
      ✓ should have proper document structure (141ms)
      ✓ should have article heading (196ms)
      ✓ should have article content (148ms)
      ✓ should have proper meta tags (172ms)
      ✓ should have Open Graph tags for social sharing (134ms)
      ✓ should have article metadata (148ms)
      ✓ should have readable typography (140ms)
    Article Content Validation
      ✓ should have paragraphs (139ms)
      ✓ should have headings hierarchy (190ms)
      ✓ should not have Lorem Ipsum placeholder text (150ms)
      ✓ should have substantial content (192ms)
    Multi-Language Article Support
      ✓ should load English article version (127ms)
      ✓ should load Swedish article version (128ms)
      ✓ should load Danish article version (120ms)
      ✓ should load Norwegian article version (198ms)
      ✓ should load Finnish article version (129ms)
      ✓ should have language switcher or alternatives (132ms)
    RTL Article Support
      ✓ should have proper RTL layout for Arabic (232ms)
      ✓ should have proper RTL layout for Hebrew (186ms)
    Article Navigation
      ✓ should have navigation back to news index (140ms)
      ✓ should have navigation to homepage (84ms)
      ✓ should have header navigation (122ms)
    Article Responsive Design
      ✓ should be readable on Mobile (375x667) (192ms)
      ✓ should be readable on Tablet (768x1024) (172ms)
      ✓ should be readable on Desktop (1280x720) (150ms)
      ✓ should be readable on Large Desktop (1920x1080) (145ms)
      ✓ should have mobile-optimized reading experience (197ms)
    Article Accessibility
      ✓ should have proper heading hierarchy (143ms)
      ✓ should have alt text on images (237ms)
      ✓ should have keyboard navigable links (139ms)
      ✓ should have semantic HTML (138ms)
    Article Performance
      ✓ should load quickly (161ms)
      ✓ should not have JavaScript errors (184ms)
    Article SEO
      ✓ should have canonical URL (164ms)
      ✓ should have description meta tag (142ms)
      ✓ should have relevant keywords (136ms)
    Article Categories
      ✓ should load committee-reports article (161ms)
      ✓ should load government-propositions article (158ms)
      ✓ should load opposition-motions article (228ms)
      ✓ should load week-ahead article (131ms)
      ✓ should load evening-analysis article (131ms)


  46 passing (10s)


  (Results)

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


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

  (Run Finished)


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


← Back to Documentation Hub