π§ͺ Unit Test Results
Test Suites
β
agentic-workflow-mcp-queries.test.js
- β
Agentic Workflow MCP Query Patterns Data Freshness Validation news-evening-analysis.md should document get_sync_status() call
- β
Agentic Workflow MCP Query Patterns Data Freshness Validation news-evening-analysis.md should warn about stale data
- β
Agentic Workflow MCP Query Patterns Data Freshness Validation news-article-generator.md should document get_sync_status() call
- β
Agentic Workflow MCP Query Patterns Data Freshness Validation news-article-generator.md should warn about stale data
- β
Agentic Workflow MCP Query Patterns Data Freshness Validation news-realtime-monitor.md should document get_sync_status() call
- β
Agentic Workflow MCP Query Patterns Data Freshness Validation news-realtime-monitor.md should warn about stale data
- β
Agentic Workflow MCP Query Patterns Explicit Date Filtering news-evening-analysis.md should document explicit date parameters
- β
Agentic Workflow MCP Query Patterns Explicit Date Filtering news-evening-analysis.md should NOT rely on implicit "latest" patterns
- β
Agentic Workflow MCP Query Patterns Explicit Date Filtering news-article-generator.md should document explicit date parameters
- β
Agentic Workflow MCP Query Patterns Explicit Date Filtering news-article-generator.md should NOT rely on implicit "latest" patterns
- β
Agentic Workflow MCP Query Patterns Explicit Date Filtering news-realtime-monitor.md should document explicit date parameters
- β
Agentic Workflow MCP Query Patterns Explicit Date Filtering news-realtime-monitor.md should NOT rely on implicit "latest" patterns
- β
Agentic Workflow MCP Query Patterns Post-Query Date Filtering Documentation news-evening-analysis.md should document post-query filtering
- β
Agentic Workflow MCP Query Patterns Post-Query Date Filtering Documentation workflows should annotate tools with date support
- β
Agentic Workflow MCP Query Patterns Cross-Referencing Strategy news-evening-analysis.md should have cross-referencing examples
- β
Agentic Workflow MCP Query Patterns Error Handling news-evening-analysis.md should document error scenarios
- β
Agentic Workflow MCP Query Patterns Error Handling news-evening-analysis.md should document stale data handling
- β
Agentic Workflow MCP Query Patterns Error Handling news-article-generator.md should document error scenarios
- β
Agentic Workflow MCP Query Patterns Error Handling news-article-generator.md should document stale data handling
- β
Agentic Workflow MCP Query Patterns Error Handling news-realtime-monitor.md should document error scenarios
- β
Agentic Workflow MCP Query Patterns Error Handling news-realtime-monitor.md should document stale data handling
- β
Agentic Workflow MCP Query Patterns MCP Tool Documentation Quality news-evening-analysis.md should list all 32 riksdag-regering tools
- β
Agentic Workflow MCP Query Patterns MCP Tool Documentation Quality news-evening-analysis.md should emphasize get_sync_status() first
- β
Agentic Workflow MCP Query Patterns MCP Tool Documentation Quality news-article-generator.md should list all 32 riksdag-regering tools
- β
Agentic Workflow MCP Query Patterns MCP Tool Documentation Quality news-article-generator.md should emphasize get_sync_status() first
- β
Agentic Workflow MCP Query Patterns MCP Tool Documentation Quality news-realtime-monitor.md should list all 32 riksdag-regering tools
- β
Agentic Workflow MCP Query Patterns MCP Tool Documentation Quality news-realtime-monitor.md should emphasize get_sync_status() first
- β
Agentic Workflow MCP Query Patterns Date Filtering Best Practices workflows should have date calculation examples
- β
Agentic Workflow MCP Query Patterns Date Filtering Best Practices workflows should document riksmΓΆte (rm) parameter usage
- β
Agentic Workflow MCP Query Patterns Workflow Compilation news-evening-analysis.md should compile without errors
- β
Agentic Workflow MCP Query Patterns Workflow Compilation news-article-generator.md should compile without errors
- β
Agentic Workflow MCP Query Patterns Workflow Compilation news-realtime-monitor.md should compile without errors
- β
Agentic Workflow MCP Query Patterns Regression Prevention evening analysis should maintain enhanced query patterns
- β
Agentic Workflow MCP Query Patterns Regression Prevention workflows should not use ambiguous "latest" language
- β
MCP Tool Date Parameter Support Matrix should document which tools support date parameters
β
article-template.test.js
- β
Article Template generateArticleHTML should generate valid HTML structure
- β
Article Template generateArticleHTML should include article title in multiple locations
- β
Article Template generateArticleHTML should include SEO meta tags
- β
Article Template generateArticleHTML should include hreflang tags for bilingual support
- β
Article Template generateArticleHTML should include Schema.org structured data
- β
Article Template generateArticleHTML should include event calendar section
- β
Article Template generateArticleHTML should include watch section
- β
Article Template generateArticleHTML should include article content
- β
Article Template generateArticleHTML should include proper CSS classes for styling
- β
Article Template generateArticleHTML should support Swedish language
- β
Article Template generateArticleHTML should use external styles.css and not embed CSS
- β
Article Template generateArticleHTML should include accessibility attributes
- β
Article Template generateArticleHTML should include sources attribution
- β
Article Template generateArticleHTML should include back to news link
- β
Article Template Default export should export generateArticleHTML, generateEventCalendar, generateWatchSection
- β
Article Template Multi-language type labels should use correct type label for en/prospective
- β
Article Template Multi-language type labels should use correct type label for sv/prospective
- β
Article Template Multi-language type labels should use correct type label for da/analysis
- β
Article Template Multi-language type labels should use correct type label for no/breaking
- β
Article Template Multi-language type labels should use correct type label for fi/retrospective
- β
Article Template Multi-language type labels should use correct type label for de/prospective
- β
Article Template Multi-language type labels should use correct type label for fr/breaking
- β
Article Template Multi-language type labels should use correct type label for es/analysis
- β
Article Template Multi-language type labels should use correct type label for nl/prospective
- β
Article Template Multi-language type labels should use correct type label for ar/prospective
- β
Article Template Multi-language type labels should use correct type label for he/breaking
- β
Article Template Multi-language type labels should use correct type label for ja/prospective
- β
Article Template Multi-language type labels should use correct type label for ko/analysis
- β
Article Template Multi-language type labels should use correct type label for zh/breaking
- β
Article Template Multi-language type labels should fall back to English type label for unknown language
- β
Article Template Multi-language type labels should show News for unknown type
- β
Article Template Footer labels / localized back-to-news link should use localized back-to-news for en
- β
Article Template Footer labels / localized back-to-news link should use localized back-to-news for sv
- β
Article Template Footer labels / localized back-to-news link should use localized back-to-news for da
- β
Article Template Footer labels / localized back-to-news link should use localized back-to-news for no
- β
Article Template Footer labels / localized back-to-news link should use localized back-to-news for fi
- β
Article Template Footer labels / localized back-to-news link should use localized back-to-news for de
- β
Article Template Footer labels / localized back-to-news link should use localized back-to-news for fr
- β
Article Template Footer labels / localized back-to-news link should use localized back-to-news for es
- β
Article Template Footer labels / localized back-to-news link should use localized back-to-news for nl
- β
Article Template Footer labels / localized back-to-news link should use localized back-to-news for ar
- β
Article Template Footer labels / localized back-to-news link should use localized back-to-news for he
- β
Article Template Footer labels / localized back-to-news link should use localized back-to-news for ja
- β
Article Template Footer labels / localized back-to-news link should use localized back-to-news for ko
- β
Article Template Footer labels / localized back-to-news link should use localized back-to-news for zh
- β
Article Template Breadcrumb translations should include Home and News breadcrumbs in English
- β
Article Template Breadcrumb translations should include localized breadcrumbs for Swedish
- β
Article Template Breadcrumb translations should include localized breadcrumbs for Japanese
- β
Article Template Breadcrumb translations should include localized breadcrumbs for Arabic
- β
Article Template RTL language support should set correct html lang for Arabic
- β
Article Template RTL language support should set correct html lang for Hebrew
- β
Article Template RTL language support should not include dir attribute for LTR languages
- β
Article Template CJK language support should set correct html lang for Japanese
- β
Article Template CJK language support should set correct html lang for Korean
- β
Article Template CJK language support should set correct html lang for Chinese
- β
Article Template Localized date formatting via generateArticleHTML should format date differently for Swedish locale
- β
Article Template Localized date formatting via generateArticleHTML should format date differently for German locale
- β
Article Template Localized date formatting via generateArticleHTML should format date differently for French locale
- β
Article Template Localized source labels should use German source labels
- β
Article Template Localized source labels should use Japanese source labels
- β
Article Template Localized source labels should use Arabic source labels
- β
Article Template Edge cases should generate article with no events
- β
Article Template Edge cases should generate article with no watch points
- β
Article Template Edge cases should generate article with no sources
- β
Article Template Edge cases should use default readTime when not provided
- β
Article Template Edge cases should use default lang when not provided
- β
Article Template Edge cases should handle multiple events across days
- β
Article Template Edge cases should escape HTML in title and subtitle
- β
Article Template All 14 hreflang tags should include hreflang tags for all 14 languages
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should output og:locale en_US for en
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should output og:locale sv_SE for sv
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should output og:locale da_DK for da
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should output og:locale nb_NO for no
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should output og:locale fi_FI for fi
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should output og:locale de_DE for de
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should output og:locale fr_FR for fr
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should output og:locale es_ES for es
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should output og:locale nl_NL for nl
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should output og:locale ar_SA for ar
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should output og:locale he_IL for he
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should output og:locale ja_JP for ja
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should output og:locale ko_KR for ko
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should output og:locale zh_CN for zh
- β
Article Template og:locale mapping (OG_LOCALE_MAP) should fall back to en_US for unknown language
- β
Article Template Site tagline (SITE_TAGLINE) should include site-tagline div in English
- β
Article Template Site tagline (SITE_TAGLINE) should include Swedish tagline for sv
- β
Article Template Site tagline (SITE_TAGLINE) should include German tagline for de
- β
Article Template Site tagline (SITE_TAGLINE) should include Japanese tagline for ja
- β
Article Template Site tagline (SITE_TAGLINE) should include Arabic tagline for ar
- β
Article Template Site tagline (SITE_TAGLINE) should fall back to English tagline for unknown language
- β
Article Template Watch section titles (WATCH_SECTION_TITLES) should use localized watch title for en
- β
Article Template Watch section titles (WATCH_SECTION_TITLES) should use localized watch title for sv
- β
Article Template Watch section titles (WATCH_SECTION_TITLES) should use localized watch title for de
- β
Article Template Watch section titles (WATCH_SECTION_TITLES) should use localized watch title for fr
- β
Article Template Watch section titles (WATCH_SECTION_TITLES) should use localized watch title for ja
- β
Article Template Watch section titles (WATCH_SECTION_TITLES) should use localized watch title for ar
- β
Article Template Watch section titles (WATCH_SECTION_TITLES) should use localized watch title for ko
- β
Article Template Watch section titles (WATCH_SECTION_TITLES) should use localized watch title for zh
- β
Article Template Event calendar titles (EVENT_CALENDAR_TITLES) should use localized calendar title for en
- β
Article Template Event calendar titles (EVENT_CALENDAR_TITLES) should use localized calendar title for sv
- β
Article Template Event calendar titles (EVENT_CALENDAR_TITLES) should use localized calendar title for de
- β
Article Template Event calendar titles (EVENT_CALENDAR_TITLES) should use localized calendar title for fr
- β
Article Template Event calendar titles (EVENT_CALENDAR_TITLES) should use localized calendar title for ja
- β
Article Template Event calendar titles (EVENT_CALENDAR_TITLES) should use localized calendar title for ar
- β
Article Template Event calendar titles (EVENT_CALENDAR_TITLES) should use localized calendar title for ko
- β
Article Template Event calendar titles (EVENT_CALENDAR_TITLES) should use localized calendar title for zh
- β
Article Template sanitizeArticleBody in JSON-LD should include sanitized articleBody in JSON-LD
- β
Article Template sanitizeArticleBody in JSON-LD should truncate long articleBody to 500 chars
β
back-to-top.test.js
- β
Back to Top Button DOM Structure should exist in DOM
- β
Back to Top Button DOM Structure should have back-to-top class
- β
Back to Top Button DOM Structure should have proper aria-label for accessibility
- β
Back to Top Button DOM Structure should have arrow content
- β
Back to Top Button DOM Structure should have id="back-to-top"
- β
Back to Top Button Scroll Visibility should not have visible class initially
- β
Back to Top Button Scroll Visibility should add visible class when pageYOffset > 300
- β
Back to Top Button Scroll Visibility should remove visible class when pageYOffset <= 300
- β
Back to Top Button Scroll Visibility should remove visible class when pageYOffset is 0
- β
Back to Top Button Scroll Visibility should toggle correctly at boundary (300 = hidden, 301 = visible)
- β
Back to Top Button Scroll Visibility should support scroll event listener registration
- β
Back to Top Button Click Behavior should support smooth scrolling API
- β
Back to Top Button Click Behavior should call scrollTo with smooth behavior when no motion preference
- β
Back to Top Button Click Behavior should call scrollTo with auto behavior when prefers-reduced-motion
- β
Back to Top Button Click Behavior should always scroll to top: 0
- β
Back to Top Button Click Behavior should support click event listener registration
- β
Back to Top Button Prefers Reduced Motion should check prefers-reduced-motion media query
- β
Back to Top Button Prefers Reduced Motion should detect when user prefers reduced motion
- β
Back to Top Button Prefers Reduced Motion should use auto behavior for reduced-motion users
- β
Back to Top Button Prefers Reduced Motion should use smooth behavior for standard users
- β
Back to Top Button Edge Cases should handle missing button gracefully
- β
Back to Top Button Edge Cases should handle large scroll values
- β
Back to Top Button Edge Cases should handle negative scroll values
β
chart-utils.test.js
- β
ChartUtils getResponsiveOptions() should return responsive options for bar chart
- β
ChartUtils getResponsiveOptions() should position legend at top on desktop
- β
ChartUtils getResponsiveOptions() should position legend at bottom on mobile
- β
ChartUtils getResponsiveOptions() should include scales for bar/line/scatter charts
- β
ChartUtils getResponsiveOptions() should not include scales for pie/doughnut charts
- β
ChartUtils getResponsiveOptions() should merge custom options
- β
ChartUtils State Management showLoadingState() should create loading overlay
- β
ChartUtils State Management showEmptyState() should create empty overlay
- β
ChartUtils State Management showErrorState() should create error overlay
- β
ChartUtils State Management hideStateOverlays() should remove all state overlays
- β
ChartUtils State Management should handle non-existent container gracefully
- β
ChartUtils Formatting Utilities formatNumber() should format with Swedish locale
- β
ChartUtils Formatting Utilities formatNumber() should handle decimals
- β
ChartUtils Formatting Utilities formatNumber() should handle null/undefined
- β
ChartUtils Formatting Utilities formatPercent() should format as percentage
- β
ChartUtils Performance Utilities debounce() should delay function execution
- β
ChartUtils Performance Utilities createResizeHandler() should return debounced function
- β
ChartUtils Theme Colors should expose theme colors
- β
ChartUtils Theme Colors should expose party colors
- β
ChartUtils Responsive Breakpoints should expose breakpoint constants
- β
ChartUtils Accessibility addKeyboardNavigation() should add keyboard event listener
- β
ChartUtils Accessibility announceDataPoint() should create live region
β
coalition-dashboard.test.js
- β
Coalition Dashboard DOM Structure should have coalition dashboard section
- β
Coalition Dashboard DOM Structure should have dashboard-container class
- β
Coalition Dashboard DOM Structure should have all chart canvases
- β
Coalition Dashboard DOM Structure should have D3.js visualization containers
- β
Coalition Dashboard DOM Structure should have wide chart cards
- β
Coalition Dashboard DOM Structure should have data attribution
- β
Coalition Dashboard Accessibility should have ARIA labels on D3 containers
- β
Coalition Dashboard Accessibility should have accessible fallback table for network
- β
Coalition Dashboard Accessibility should have table caption
- β
Coalition Dashboard Accessibility should have proper heading hierarchy
- β
Coalition Dashboard Data Source Configuration should configure local-first URLs for all CSV files
- β
Coalition Dashboard Data Source Configuration should use local paths starting with cia-data/
- β
Coalition Dashboard Data Source Configuration should have remote fallback URLs for all files
- β
Coalition Dashboard Coalition Data Processing (Real CSV Schema) should parse behavioral patterns CSV with real columns
- β
Coalition Dashboard Coalition Data Processing (Real CSV Schema) should parse annual party votes CSV with real columns
- β
Coalition Dashboard Coalition Data Processing (Real CSV Schema) should parse decision trends CSV with real columns
- β
Coalition Dashboard Coalition Data Processing (Real CSV Schema) should parse decision patterns CSV with real columns
- β
Coalition Dashboard Coalition Data Processing (Real CSV Schema) should calculate alignment scores between parties
- β
Coalition Dashboard Coalition Data Processing (Real CSV Schema) should identify coalition blocs
- β
Coalition Dashboard Coalition Data Processing (Real CSV Schema) should aggregate behavioral data by party
- β
Coalition Dashboard D3.js Network should prepare network data nodes for all 8 parties
- β
Coalition Dashboard D3.js Network should prepare network data links
- β
Coalition Dashboard D3.js Network should generate correct number of links for 8 parties
- β
Coalition Dashboard Error Handling and Fallbacks should handle empty CSV data gracefully
- β
Coalition Dashboard Error Handling and Fallbacks should provide fallback coalition data when CSV is empty
- β
Coalition Dashboard Error Handling and Fallbacks should handle fetch failures with mock fallback
- β
Coalition Dashboard Error Handling and Fallbacks should skip aggregate rows with party "-"
- β
Coalition Dashboard Loading State should add loading class to container
- β
Coalition Dashboard Loading State should remove loading class when data loads
β
coalition-loader.test.js
- β
Coalition Loader CSV Parsing should parse valid CSV with headers and data rows
- β
Coalition Loader CSV Parsing should handle empty CSV
- β
Coalition Loader CSV Parsing should handle CSV with only headers
- β
Coalition Loader CSV Parsing should skip malformed rows with mismatched column count
- β
Coalition Loader CSV Parsing should trim whitespace from values
- β
Coalition Loader CSV Parsing should handle CSV with multiple data rows
- β
Coalition Loader Language Detection should detect English language
- β
Coalition Loader Language Detection should detect Swedish language
- β
Coalition Loader Language Detection should detect Danish language
- β
Coalition Loader Language Detection should detect Norwegian language
- β
Coalition Loader Language Detection should detect German language
- β
Coalition Loader Language Detection should detect French language
- β
Coalition Loader Language Detection should detect Arabic language
- β
Coalition Loader Language Detection should detect Hebrew language
- β
Coalition Loader Language Detection should detect Japanese language
- β
Coalition Loader Language Detection should detect Korean language
- β
Coalition Loader Language Detection should detect Chinese language
- β
Coalition Loader Language Detection should handle language with region code (e.g., en-US)
- β
Coalition Loader Language Detection should handle language with region code (e.g., sv-SE)
- β
Coalition Loader Language Detection should default to empty string when lang not set
- β
Coalition Loader Language Detection should fallback to English for unsupported language
- β
Coalition Loader Translation System should return English translations
- β
Coalition Loader Translation System should return Swedish translations
- β
Coalition Loader Translation System should return Danish translations
- β
Coalition Loader Translation System should fallback to English for unsupported language
- β
Coalition Loader Translation System should fallback to English when language is null
- β
Coalition Loader Translation System should have all required translation keys
- β
Coalition Loader Cache Management should store data with timestamp in cache
- β
Coalition Loader Cache Management should retrieve cached data
- β
Coalition Loader Cache Management should check if cache is fresh (within 7 days)
- β
Coalition Loader Cache Management should detect stale cache (older than 7 days)
- β
Coalition Loader Cache Management should return null for non-existent cache
- β
Coalition Loader Cache Management should handle cache retrieval errors gracefully
- β
Coalition Loader Cache Management should use cache prefix for all keys
- β
Coalition Loader Active Party Filtering should filter parties where active=t
- β
Coalition Loader Active Party Filtering should exclude inactive parties
- β
Coalition Loader Active Party Filtering should return empty array when no active parties
- β
Coalition Loader Active Party Filtering should handle empty party array
- β
Coalition Loader Leader Extraction should prioritize Partiledare over Gruppledare
- β
Coalition Loader Leader Extraction should use Gruppledare when no Partiledare
- β
Coalition Loader Leader Extraction should format leader name as "FirstName LastName"
- β
Coalition Loader Leader Extraction should filter only active leaders (active=t)
- β
Coalition Loader Leader Extraction should handle missing leader data
- β
Coalition Loader Leader Extraction should extract leaders for multiple parties
- β
Coalition Loader Party Sorting should sort parties by parliament seats (descending)
- β
Coalition Loader Party Sorting should handle parties with 0 seats
- β
Coalition Loader Party Sorting should handle missing seat values
- β
Coalition Loader DOM Rendering should find coalition-status container
- β
Coalition Loader DOM Rendering should find cards container
- β
Coalition Loader DOM Rendering should clear existing cards innerHTML
- β
Coalition Loader DOM Rendering should create party card with correct structure
- β
Coalition Loader DOM Rendering should display loading message
- β
Coalition Loader DOM Rendering should display error message
- β
Coalition Loader DOM Rendering should handle missing container gracefully
- β
Coalition Loader DOM Rendering should update coalition status paragraph
- β
Coalition Loader DOM Rendering should render multiple party cards
- β
Coalition Loader Fetch Error Handling should handle HTTP 404 error
- β
Coalition Loader Fetch Error Handling should handle HTTP 500 error
- β
Coalition Loader Fetch Error Handling should handle network timeout
- β
Coalition Loader Fetch Error Handling should implement retry logic
- β
Coalition Loader Fetch Error Handling should handle CORS errors
- β
Coalition Loader Party Metadata should have metadata for all 8 Swedish parties
- β
Coalition Loader Party Metadata should have name for each party
- β
Coalition Loader Party Metadata should have color for each party
- β
Coalition Loader Party Metadata should retrieve party info by code
- β
Coalition Loader Party Metadata should handle unknown party code gracefully
- β
Coalition Loader Integration Scenarios should load data from cache when fresh
- β
Coalition Loader Integration Scenarios should complete full data flow: parse -> filter -> sort -> render
- β
Coalition Loader Integration Scenarios should handle complete error scenario
β
committees-dashboard.test.js
- β
Committees Dashboard DOM Structure should have committee dashboard section
- β
Committees Dashboard DOM Structure should have dashboard-container class
- β
Committees Dashboard DOM Structure should have all chart canvases
- β
Committees Dashboard DOM Structure should have D3 visualization containers
- β
Committees Dashboard DOM Structure should have wide chart cards
- β
Committees Dashboard DOM Structure should have last updated timestamp
- β
Committees Dashboard Accessibility should have ARIA labels on D3 containers
- β
Committees Dashboard Accessibility should have accessible fallback tables
- β
Committees Dashboard Accessibility should have table captions
- β
Committees Dashboard Accessibility should have proper heading hierarchy
- β
Committees Dashboard Committee Data Processing should parse committee productivity matrix CSV with real columns
- β
Committees Dashboard Committee Data Processing should parse committee ballot decision summary CSV with real columns
- β
Committees Dashboard Committee Data Processing should rank committees by effectiveness
- β
Committees Dashboard Committee Data Processing should calculate productivity metrics
- β
Committees Dashboard Data Source Configuration should use local-first URLs with cia-data/ prefix
- β
Committees Dashboard Data Source Configuration should have remote fallback URLs
- β
Committees Dashboard Error Handling should handle empty CSV data
- β
Committees Dashboard Error Handling should handle fetch failures gracefully
- β
Committees Dashboard Chart Configuration should create comparison bar chart
- β
Committees Dashboard Data Attribution should have data attribution section
- β
Committees Dashboard Data Attribution should reference CIA Platform as data source
β
csv-validation.test.js
- β
CIA CSV Data Validation File Existence should have distribution_politician_risk_levels.csv
- β
CIA CSV Data Validation File Existence should have distribution_risk_by_party.csv
- β
CIA CSV Data Validation File Existence should have distribution_risk_evolution_temporal.csv
- β
CIA CSV Data Validation File Existence should have distribution_crisis_resilience.csv
- β
CIA CSV Data Validation File Existence should have percentile_voting_anomaly_detection.csv
- β
CIA CSV Data Validation File Existence should have distribution_party_effectiveness_trends.csv
- β
CIA CSV Data Validation File Existence should have distribution_party_momentum.csv
- β
CIA CSV Data Validation File Existence should have distribution_annual_committee_documents.csv
- β
CIA CSV Data Validation File Existence should have distribution_committee_productivity_matrix.csv
- β
CIA CSV Data Validation File Existence should have distribution_ministry_effectiveness.csv
- β
CIA CSV Data Validation File Existence should have distribution_ministry_decision_impact.csv
- β
CIA CSV Data Validation File Existence should have distribution_ministry_productivity_matrix.csv
- β
CIA CSV Data Validation File Existence should have distribution_ministry_risk_levels.csv
- β
CIA CSV Data Validation File Existence should have distribution_ministry_risk_quarterly.csv
- β
CIA CSV Data Validation File Existence should have distribution_person_status.csv
- β
CIA CSV Data Validation File Existence should have distribution_experience_levels.csv
- β
CIA CSV Data Validation File Existence should have distribution_experience_by_party.csv
- β
CIA CSV Data Validation File Existence should have extraction_summary_report.csv
- β
CIA CSV Data Validation File Size Validation distribution_politician_risk_levels.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_risk_by_party.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_risk_evolution_temporal.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_crisis_resilience.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation percentile_voting_anomaly_detection.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_party_effectiveness_trends.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_party_momentum.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_annual_committee_documents.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_committee_productivity_matrix.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_ministry_effectiveness.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_ministry_decision_impact.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_ministry_productivity_matrix.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_ministry_risk_levels.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_ministry_risk_quarterly.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_person_status.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_experience_levels.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation distribution_experience_by_party.csv should not be empty or too small
- β
CIA CSV Data Validation File Size Validation extraction_summary_report.csv should not be empty or too small
- β
CIA CSV Data Validation Encoding Validation distribution_politician_risk_levels.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_risk_by_party.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_risk_evolution_temporal.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_crisis_resilience.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation percentile_voting_anomaly_detection.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_party_effectiveness_trends.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_party_momentum.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_annual_committee_documents.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_committee_productivity_matrix.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_ministry_effectiveness.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_ministry_decision_impact.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_ministry_productivity_matrix.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_ministry_risk_levels.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_ministry_risk_quarterly.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_person_status.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_experience_levels.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation distribution_experience_by_party.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation Encoding Validation extraction_summary_report.csv should have valid UTF-8 encoding
- β
CIA CSV Data Validation CSV Structure Validation distribution_politician_risk_levels.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_politician_risk_levels.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_risk_by_party.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_risk_by_party.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_risk_evolution_temporal.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_risk_evolution_temporal.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_crisis_resilience.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_crisis_resilience.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation percentile_voting_anomaly_detection.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation percentile_voting_anomaly_detection.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_party_effectiveness_trends.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_party_effectiveness_trends.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_party_momentum.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_party_momentum.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_annual_committee_documents.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_annual_committee_documents.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_committee_productivity_matrix.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_committee_productivity_matrix.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_ministry_effectiveness.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_ministry_effectiveness.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_ministry_decision_impact.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_ministry_decision_impact.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_ministry_productivity_matrix.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_ministry_productivity_matrix.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_ministry_risk_levels.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_ministry_risk_levels.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_ministry_risk_quarterly.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_ministry_risk_quarterly.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_person_status.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_person_status.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_experience_levels.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_experience_levels.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation distribution_experience_by_party.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation distribution_experience_by_party.csv should have data rows
- β
CIA CSV Data Validation CSV Structure Validation extraction_summary_report.csv should have proper CSV structure
- β
CIA CSV Data Validation CSV Structure Validation extraction_summary_report.csv should have data rows
- β
CIA CSV Data Validation Schema Validation distribution_politician_risk_levels.csv should exist and be parseable
- β
CIA CSV Data Validation Schema Validation distribution_politician_risk_levels.csv should have required columns
- β
CIA CSV Data Validation Schema Validation distribution_politician_risk_levels.csv should have valid numeric data types
- β
CIA CSV Data Validation Schema Validation distribution_risk_by_party.csv should exist and be parseable
- β
CIA CSV Data Validation Schema Validation distribution_risk_by_party.csv should have required columns
- β
CIA CSV Data Validation Schema Validation distribution_risk_by_party.csv should have valid numeric data types
- β
CIA CSV Data Validation Schema Validation distribution_party_effectiveness_trends.csv should exist and be parseable
- β
CIA CSV Data Validation Schema Validation distribution_party_effectiveness_trends.csv should have required columns
- β
CIA CSV Data Validation Schema Validation distribution_party_effectiveness_trends.csv should have valid numeric data types
- β
CIA CSV Data Validation Schema Validation distribution_ministry_effectiveness.csv should exist and be parseable
- β
CIA CSV Data Validation Schema Validation distribution_ministry_effectiveness.csv should have required columns
- β
CIA CSV Data Validation Schema Validation distribution_ministry_effectiveness.csv should have valid numeric data types
- β
CIA CSV Data Validation Schema Validation distribution_committee_productivity_matrix.csv should exist and be parseable
- β
CIA CSV Data Validation Schema Validation distribution_committee_productivity_matrix.csv should have required columns
- β
CIA CSV Data Validation Schema Validation distribution_committee_productivity_matrix.csv should have valid numeric data types
- β
CIA CSV Data Validation Column Consistency distribution_politician_risk_levels.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_risk_by_party.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_risk_evolution_temporal.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_crisis_resilience.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency percentile_voting_anomaly_detection.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_party_effectiveness_trends.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_party_momentum.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_annual_committee_documents.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_committee_productivity_matrix.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_ministry_effectiveness.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_ministry_decision_impact.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_ministry_productivity_matrix.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_ministry_risk_levels.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_ministry_risk_quarterly.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_person_status.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_experience_levels.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency distribution_experience_by_party.csv should have consistent column counts
- β
CIA CSV Data Validation Column Consistency extraction_summary_report.csv should have consistent column counts
- β
CIA CSV Data Validation Data Freshness CSV files should not be older than 90 days (warns at 30 days)
β
data-transformers.test.js
- β
Data Transformers transformCalendarToEventGrid should transform events to grid structure for English
- β
Data Transformers transformCalendarToEventGrid should transform events to grid structure for Swedish
- β
Data Transformers transformCalendarToEventGrid should handle empty events array
- β
Data Transformers transformCalendarToEventGrid should handle null/undefined events
- β
Data Transformers transformCalendarToEventGrid should support all 14 languages via Intl formatting
- β
Data Transformers transformCalendarToEventGrid should handle events with different date field names
- β
Data Transformers transformCalendarToEventGrid should group events by date
- β
Data Transformers generateArticleContent should generate HTML content for week-ahead article
- β
Data Transformers generateArticleContent should generate content in Swedish
- β
Data Transformers generateArticleContent should support different article types
- β
Data Transformers extractWatchPoints should extract watch points from events
- β
Data Transformers extractWatchPoints should extract watch points in Swedish
- β
Data Transformers extractWatchPoints should handle empty data
- β
Data Transformers extractTopics should extract topics from events
- β
Data Transformers extractTopics should return unique topics
- β
Data Transformers generateMetadata should generate metadata with keywords, topics, tags
- β
Data Transformers generateMetadata should generate Swedish metadata
- β
Data Transformers calculateReadTime should calculate read time for short content
- β
Data Transformers calculateReadTime should calculate read time for long content
- β
Data Transformers calculateReadTime should handle empty content
- β
Data Transformers calculateReadTime should handle content with only HTML tags
- β
Data Transformers calculateReadTime should never return less than 1 minute
- β
Data Transformers generateArticleContent edge cases should handle unknown article type gracefully
- β
Data Transformers generateArticleContent edge cases should handle committee-reports with empty reports array
- β
Data Transformers generateArticleContent edge cases should handle propositions with data
- β
Data Transformers generateArticleContent edge cases should handle motions with data
- β
Data Transformers generateArticleContent edge cases should include highlights section when highlights are provided
- β
Data Transformers generateArticleContent edge cases should include Swedish highlights section
- β
Data Transformers generateArticleContent edge cases should handle events with no date field
- β
Data Transformers generateSources should generate sources list from MCP tools
- β
Data Transformers generateSources should handle empty tools array
- β
Data Transformers generateSources should include descriptive source names
- β
Data Transformers generateSources should include sources for all MCP tool types
- β
Data Transformers Multi-language content labels (CONTENT_LABELS) should have labels for all 14 supported languages
- β
Data Transformers Multi-language content labels (CONTENT_LABELS) should have all required keys in every language
- β
Data Transformers Multi-language content labels (CONTENT_LABELS) should have non-empty string values for static labels
- β
Data Transformers Multi-language content labels (CONTENT_LABELS) should have function values for Desc labels
- β
Data Transformers Multi-language content labels (CONTENT_LABELS) L() helper should return correct label for known language
- β
Data Transformers Multi-language content labels (CONTENT_LABELS) L() helper should fallback to English for unknown language
- β
Data Transformers Multi-language article content generation should generate localized content for all 14 languages
- β
Data Transformers Multi-language article content generation should generate localized committee content for German
- β
Data Transformers Multi-language article content generation should generate localized propositions content for French
- β
Data Transformers Multi-language article content generation should generate localized motions content for Japanese
- β
Data Transformers Multi-language article content generation should generate localized metadata tags
- β
Data Transformers data-translate markers for Swedish API content should wrap Swedish titel in data-translate span for committee reports
- β
Data Transformers data-translate markers for Swedish API content should NOT wrap English title in data-translate span for committee reports
- β
Data Transformers data-translate markers for Swedish API content should wrap Swedish titel in data-translate span for propositions
- β
Data Transformers data-translate markers for Swedish API content should NOT wrap English title in data-translate span for propositions
- β
Data Transformers data-translate markers for Swedish API content should wrap Swedish titel in data-translate span for motions
- β
Data Transformers data-translate markers for Swedish API content should NOT wrap English title in data-translate span for motions
- β
Data Transformers data-translate markers for Swedish API content should wrap Swedish summary in data-translate span when present
- β
Data Transformers data-translate markers for Swedish API content should use localized default or enhanced summary when no API summary provided
- β
Data Transformers data-translate markers for Swedish API content should wrap week-ahead event titel in data-translate span
- β
Data Transformers data-translate markers for Swedish API content should NOT wrap week-ahead event with English title
- β
Data Transformers HTML escaping in data-translate spans (XSS prevention) should escape HTML special characters in Swedish titles
- β
Data Transformers HTML escaping in data-translate spans (XSS prevention) should escape HTML in Swedish summaries
- β
Data Transformers HTML escaping in data-translate spans (XSS prevention) should escape HTML in document names
- β
Data Transformers dokumentnamn fallback chain should use dokumentnamn as link text when available
- β
Data Transformers dokumentnamn fallback chain should fall back to dok_id when dokumentnamn missing
- β
Data Transformers dokumentnamn fallback chain should fall back to title text when both dokumentnamn and dok_id missing
- β
Data Transformers dokumentnamn fallback chain should never render "undefined" as link text
- β
Data Transformers dokumentnamn fallback chain should apply dokumentnamn fallback for propositions
- β
Data Transformers dokumentnamn fallback chain should apply dokumentnamn fallback for motions
- β
Data Transformers extractWatchPoints with data-translate markers should wrap Swedish event titles in data-translate span
- β
Data Transformers extractWatchPoints with data-translate markers should NOT wrap English event titles in data-translate span
- β
Data Transformers extractWatchPoints with data-translate markers should escape HTML in watch point titles
β
editorial-pillars.test.js
- β
editorial-pillars EDITORIAL_PILLAR_HEADINGS should have all 14 supported languages
- β
editorial-pillars EDITORIAL_PILLAR_HEADINGS should have all 4 pillar headings for each language
- β
editorial-pillars EDITORIAL_PILLAR_HEADINGS should have non-empty strings for all headings
- β
editorial-pillars EDITORIAL_PILLAR_HEADINGS should have unique headings per language (no duplicates)
- β
editorial-pillars EDITORIAL_PILLAR_HEADINGS should have correct English headings
- β
editorial-pillars EDITORIAL_PILLAR_HEADINGS should have correct Swedish headings
- β
editorial-pillars detectArticleLanguage should detect English from HTML lang attribute
- β
editorial-pillars detectArticleLanguage should detect Swedish from HTML lang attribute
- β
editorial-pillars detectArticleLanguage should detect language with case-insensitive matching
- β
editorial-pillars detectArticleLanguage should detect language with extra attributes
- β
editorial-pillars detectArticleLanguage should fallback to English when lang attribute is missing
- β
editorial-pillars detectArticleLanguage should fallback to English when lang is unsupported
- β
editorial-pillars detectArticleLanguage should fallback to English for empty HTML
- β
editorial-pillars detectArticleLanguage should fallback to English for null input
- β
editorial-pillars detectArticleLanguage should fallback to English for malformed HTML
- β
editorial-pillars detectArticleLanguage should detect all 14 supported languages
- β
editorial-pillars detectArticleLanguage should extract first lang attribute when multiple html tags
- β
editorial-pillars getLocalizedHeading should return correct heading for English
- β
editorial-pillars getLocalizedHeading should return correct heading for Swedish
- β
editorial-pillars getLocalizedHeading should return correct heading for Norwegian
- β
editorial-pillars getLocalizedHeading should return correct heading for Arabic (RTL)
- β
editorial-pillars getLocalizedHeading should return correct heading for Hebrew (RTL)
- β
editorial-pillars getLocalizedHeading should return correct heading for Japanese
- β
editorial-pillars getLocalizedHeading should fallback to English for unsupported language
- β
editorial-pillars getLocalizedHeading should fallback to English for null language
- β
editorial-pillars getLocalizedHeading should fallback to English for undefined language
- β
editorial-pillars getLocalizedHeading should handle all pillars for all 14 languages
- β
editorial-pillars getLocalizedHeading should return undefined for non-existent pillar
- β
editorial-pillars Integration should work together: detect language and get localized heading
- β
editorial-pillars Integration should work with fallback chain: unknown lang -> English heading
β
extract-vocabulary.test.js
- β
extract-vocabulary.js Language code extraction should extract language code from filename
- β
extract-vocabulary.js Language code extraction should handle multiple language files
- β
extract-vocabulary.js Structure-based extraction should extract committee label from strong tag
- β
extract-vocabulary.js Structure-based extraction should extract labels in multiple languages
- β
extract-vocabulary.js Structure-based extraction should extract What to Watch heading
- β
extract-vocabulary.js Structure-based extraction should extract h3 titles with nested span tags
- β
extract-vocabulary.js CLI arguments should filter by date prefix
- β
extract-vocabulary.js CLI arguments should show help message
- β
extract-vocabulary.js Error handling should report skipped files with reasons
- β
extract-vocabulary.js Error handling should handle read errors gracefully
- β
extract-vocabulary.js Article type detection should detect committee reports
- β
extract-vocabulary.js Article type detection should detect multiple article types
β
generate-news-enhanced-part1.test.js
- β
Generate News Enhanced - Part 1 Module Constants should export VALID_ARTICLE_TYPES with all supported types
- β
Generate News Enhanced - Part 1 Module Constants should export ALL_LANGUAGES with all 14 supported languages
- β
Generate News Enhanced - Part 1 Module Constants should export LANGUAGE_PRESETS with all preset categories
- β
Generate News Enhanced - Part 1 Module Constants nordic preset should include Nordic languages
- β
Generate News Enhanced - Part 1 Module Constants eu-core preset should include EU core languages
- β
Generate News Enhanced - Part 1 Module Constants all preset should include all 14 languages
- β
Generate News Enhanced - Part 1 formatDateForSlug should be an exported function
- β
Generate News Enhanced - Part 1 formatDateForSlug should format date correctly
- β
Generate News Enhanced - Part 1 formatDateForSlug should pad single-digit months and days
- β
Generate News Enhanced - Part 1 formatDateForSlug should use current date when called with no arguments
- β
Generate News Enhanced - Part 1 getWeekAheadDateRange should be an exported function
- β
Generate News Enhanced - Part 1 getWeekAheadDateRange should return object with start and end dates
- β
Generate News Enhanced - Part 1 getWeekAheadDateRange should return dates in ISO format
- β
Generate News Enhanced - Part 1 getWeekAheadDateRange should return a 7-day range
- β
Generate News Enhanced - Part 1 getWeekAheadDateRange end date should be after start date
- β
Generate News Enhanced - Part 1 writeSingleArticle should be an exported function
- β
Generate News Enhanced - Part 1 writeSingleArticle should accept html, slug, and language parameters
- β
Generate News Enhanced - Part 1 writeSingleArticle should return filename
- β
Generate News Enhanced - Part 1 writeSingleArticle should call fs.writeFileSync
- β
Generate News Enhanced - Part 1 writeSingleArticle should include language in filename
- β
Generate News Enhanced - Part 1 writeArticlePair should be an exported function
- β
Generate News Enhanced - Part 1 writeArticlePair should write both English and Swedish versions
- β
Generate News Enhanced - Part 1 generateWeekAhead should be an exported function
- β
Generate News Enhanced - Part 1 generateWeekAhead should return result with success status
- β
Generate News Enhanced - Part 1 generateWeekAhead should generate files for requested languages
- β
Generate News Enhanced - Part 1 generateWeekAhead should include date in slug
- β
Generate News Enhanced - Part 1 generateWeekAhead should call MCP client fetchCalendarEvents
- β
Generate News Enhanced - Part 1 generateWeekAhead should handle MCP client errors gracefully
β
generate-news-enhanced-part2.test.js
- β
Generate News Enhanced - Part 2 generateCommitteeReports should be an exported function
- β
Generate News Enhanced - Part 2 generateCommitteeReports should return result with success status
- β
Generate News Enhanced - Part 2 generateCommitteeReports should call MCP client fetchCommitteeReports
- β
Generate News Enhanced - Part 2 generateCommitteeReports should handle empty results
- β
Generate News Enhanced - Part 2 generateCommitteeReports should handle MCP client errors gracefully
- β
Generate News Enhanced - Part 2 generateCommitteeReports should include committee-reports in slug
- β
Generate News Enhanced - Part 2 generatePropositions should be an exported function
- β
Generate News Enhanced - Part 2 generatePropositions should return result with success status
- β
Generate News Enhanced - Part 2 generatePropositions should call MCP client fetchPropositions
- β
Generate News Enhanced - Part 2 generatePropositions should handle empty results
- β
Generate News Enhanced - Part 2 generatePropositions should handle MCP client errors gracefully
- β
Generate News Enhanced - Part 2 generatePropositions should include government-propositions in slug
- β
Generate News Enhanced - Part 2 generateMotions should be an exported function
- β
Generate News Enhanced - Part 2 generateMotions should return result with success status
- β
Generate News Enhanced - Part 2 generateMotions should call MCP client fetchMotions
- β
Generate News Enhanced - Part 2 generateMotions should handle empty results
- β
Generate News Enhanced - Part 2 generateMotions should handle MCP client errors gracefully
- β
Generate News Enhanced - Part 2 generateMotions should include opposition-motions in slug
- β
Generate News Enhanced - Part 2 generateNews should be an exported function
- β
Generate News Enhanced - Part 2 generateNews should return stats object
- β
Generate News Enhanced - Part 2 generateNews should generate articles and update stats
- β
Generate News Enhanced - Part 2 generateNews should write metadata files
- β
Generate News Enhanced - Part 2 Article Type Validation should include all documented article types
- β
Generate News Enhanced - Part 2 Language Preset Coverage nordic preset should cover Scandinavian+Finnish languages
- β
Generate News Enhanced - Part 2 Language Preset Coverage eu-core preset should cover major EU languages
- β
Generate News Enhanced - Part 2 Language Preset Coverage all preset should cover all 14 languages including CJK and RTL
- β
Generate News Enhanced - Part 2 News Directory Structure should have news directory
- β
Generate News Enhanced - Part 2 Week Ahead Title Translations should have title translations for all 14 languages
- β
Generate News Enhanced - Part 2 Week Ahead Title Translations title languages should match ALL_LANGUAGES constant
- β
MCP Client Integration should be able to import MCPClient
- β
Data Transformer Integration should be able to import all required transformers
- β
Article Template Integration should be able to import generateArticleHTML
β
generate-news-indexes.test.js
- β
Generate News Indexes parseArticleMetadata should parse metadata from a real article file
- β
Generate News Indexes parseArticleMetadata should return null for non-article files
- β
Generate News Indexes parseArticleMetadata should extract correct language from filename suffix
- β
Generate News Indexes parseArticleMetadata should classify week-ahead articles as prospective
- β
Generate News Indexes parseArticleMetadata should classify committee-reports as analysis
- β
Generate News Indexes parseArticleMetadata should extract topics from article:tag meta tags
- β
Generate News Indexes parseArticleMetadata should extract tags from article:tag meta tags
- β
Generate News Indexes scanNewsArticles should return object with all 14 language keys
- β
Generate News Indexes scanNewsArticles should return arrays for each language
- β
Generate News Indexes scanNewsArticles should sort articles by date descending
- β
Generate News Indexes generateAllIndexes should return result object with success status
- β
Generate News Indexes generateAllIndexes should generate indexes successfully
- β
Generate News Indexes generateAllIndexes should generate index files for all 14 languages
- β
Generate News Indexes generateAllIndexes should generate index files with correct lang attribute
- β
Generate News Indexes generateAllIndexes should include domain-specific keywords in generated indexes
- β
Generate News Indexes generateAllIndexes should include translated Schema.org WebSite description per language
- β
Generate News Indexes generateAllIndexes should include publisher and about in Schema.org ItemList articles
- β
Generate News Indexes generateAllIndexes should set dir="rtl" for Arabic and Hebrew indexes
- β
Generate News Indexes classifyArticleType multi-language should classify German prospective articles
- β
Generate News Indexes classifyArticleType multi-language should classify French analysis articles
- β
Generate News Indexes classifyArticleType multi-language should classify Japanese breaking news articles
- β
Generate News Indexes classifyArticleType multi-language should classify Arabic prospective articles
- β
Generate News Indexes classifyArticleType multi-language should classify Finnish analysis articles
- β
Generate News Indexes classifyArticleType multi-language should classify Korean breaking news articles
- β
Generate News Indexes classifyArticleType multi-language should default to retrospective when no keywords match
- β
Generate News Indexes extractTopics multi-language should extract topics from German tags
- β
Generate News Indexes extractTopics multi-language should extract topics from Japanese tags
- β
Generate News Indexes extractTopics multi-language should extract topics from Arabic tags
β
generate-sitemap.test.js
- β
Sitemap Generation generateSitemap should return valid XML string
- β
Sitemap Generation generateSitemap should include main index page
- β
Sitemap Generation generateSitemap should include language index pages
- β
Sitemap Generation generateSitemap should include politician dashboard page
- β
Sitemap Generation generateSitemap should include dashboard pages
- β
Sitemap Generation generateSitemap should include sitemap HTML pages
- β
Sitemap Generation generateSitemap should include xhtml namespace for hreflang
- β
Sitemap Generation generateSitemap should include hreflang alternate links
- β
Sitemap Generation generateSitemap should include changefreq and priority tags
- β
Sitemap Generation generateSitemap should include lastmod tags
- β
Sitemap Generation generateSitemap should include news index pages
- β
Sitemap Generation validateSitemap should pass for valid sitemap XML
- β
Sitemap Generation validateSitemap should return true for valid sitemap
- β
Sitemap Generation validateSitemap should throw for missing XML declaration
- β
Sitemap Generation validateSitemap should throw for missing sitemap namespace
- β
Sitemap Generation validateSitemap should throw for empty sitemap with no URLs
- β
Sitemap Generation validateSitemap should throw for sitemap with no <loc> tags
β
html-utils.test.js
- β
html-utils escapeHtml should escape ampersands
- β
html-utils escapeHtml should escape angle brackets
- β
html-utils escapeHtml should escape double quotes
- β
html-utils escapeHtml should escape single quotes
- β
html-utils escapeHtml should handle null input
- β
html-utils escapeHtml should handle undefined input
- β
html-utils escapeHtml should handle empty string
- β
html-utils escapeHtml should handle numeric input via String coercion
- β
html-utils escapeHtml should handle strings with no special characters
- β
html-utils escapeHtml should escape all special characters together
β
jsdoc-validation.test.js
- β
JSDoc Generation & Validation JSDoc Build Process should generate JSDoc without errors
- β
JSDoc Generation & Validation JSDoc Build Process should create api/ directory
- β
JSDoc Generation & Validation JSDoc Build Process should generate index.html in api/
- β
JSDoc Generation & Validation Generated Documentation Structure should generate HTML files for each module
- β
JSDoc Generation & Validation Generated Documentation Structure should create module documentation files
- β
JSDoc Generation & Validation Generated Documentation Structure should generate global.html for global functions
- β
JSDoc Generation & Validation Documentation Content Validation should contain intelligence operative terminology in index.html
- β
JSDoc Generation & Validation Documentation Content Validation should reference CIA Platform in documentation
- β
JSDoc Generation & Validation Documentation Content Validation should include political transparency mission
- β
JSDoc Generation & Validation Documentation Content Validation should document GDPR compliance for political data
- β
JSDoc Generation & Validation Source Code JSDoc Coverage should have JSDoc comments in stats-loader.js
- β
JSDoc Generation & Validation Source Code JSDoc Coverage should have JSDoc comments in risk-dashboard.js
- β
JSDoc Generation & Validation Source Code JSDoc Coverage should document functions with @param and @returns tags
- β
JSDoc Generation & Validation Documentation Accessibility should generate valid HTML structure
- β
JSDoc Generation & Validation Documentation Accessibility should include navigation elements for accessibility
- β
JSDoc Generation & Validation Documentation Accessibility should have proper document title
- β
JSDoc Generation & Validation Integration with Project Documentation should reference ARCHITECTURE.md
- β
JSDoc Generation & Validation Integration with Project Documentation should reference THREAT_MODEL.md for security context
- β
JSDoc Generation & Validation Integration with Project Documentation should link to GitHub repository
- β
JSDoc File Completeness should list all expected JavaScript source directories
- β
JSDoc File Completeness should document all dashboard JavaScript files
β
load-cia-stats.test.js
- β
Load CIA Stats Script Script Configuration should have load-cia-stats.js script
- β
Load CIA Stats Script Script Configuration should be a Node.js ES module
- β
Load CIA Stats Script CIA Data Source should reference extraction_summary_report.csv
- β
Load CIA Stats Script CIA Data Source should fetch from GitHub cia repository
- β
Load CIA Stats Script ISMS Compliance Documentation should include ISO 27001 compliance comments
- β
Load CIA Stats Script ISMS Compliance Documentation should document data classification
- β
Load CIA Stats Script ISMS Compliance Documentation should reference GDPR compliance
- β
Load CIA Stats Script ISMS Compliance Documentation should reference Swedish Offentlighetsprincipen
- β
Load CIA Stats Script Statistics Extraction should extract total_persons statistic
- β
Load CIA Stats Script Statistics Extraction should extract total_votes statistic
- β
Load CIA Stats Script Statistics Extraction should extract total_documents statistic
- β
Load CIA Stats Script Statistics Extraction should extract total_committee_documents statistic
- β
Load CIA Stats Script Statistics Extraction should extract total_rule_violations statistic
- β
Load CIA Stats Script Output Generation should output to cia-data/production-stats.json
- β
Load CIA Stats Script Output Generation should create JSON output with proper structure
- β
Load CIA Stats Script Caching Strategy should implement cache freshness check
- β
Load CIA Stats Script Caching Strategy should include last_updated timestamp
- β
Load CIA Stats Script Error Handling should have error handling for network failures
- β
Load CIA Stats Script Error Handling should have try-catch blocks
- β
Load CIA Stats Script CSV Parsing should parse CSV content
- β
Load CIA Stats Script CSV Parsing should handle CSV headers
- β
Load CIA Stats Script Data Validation should validate extracted statistics are numbers
- β
Load CIA Stats Script Data Validation should have reasonable statistic values (sanity check)
- β
Load CIA Stats Script Integration with Update Script should be compatible with update-stats-from-cia.js
- β
Load CIA Stats Script GitHub Actions Integration should be referenced in update-cia-stats workflow
- β
Load CIA Stats Script GitHub Actions Integration should have scheduled workflow for daily updates
β
mcp-client-core-part1.test.js
- β
MCPClient constructor should create client with default configuration
- β
MCPClient constructor should accept custom configuration
- β
MCPClient constructor should accept string URL for backwards compatibility
- β
MCPClient constructor should accept serverUrl alias in config
- β
MCPClient constructor should initialize request and error counts to zero
- β
MCPClient constructor should accept custom headers in config
- β
MCPClient constructor should initialize empty customHeaders when no headers provided
- β
MCPClient constructor should initialize empty customHeaders for string URL config
- β
MCPClient request should make successful HTTP request with JSON-RPC 2.0
- β
MCPClient request should send correct JSON-RPC 2.0 request format
- β
MCPClient request should include custom headers from config in requests
- β
MCPClient request should not override runtime headers with custom headers
- β
MCPClient request should handle JSON-RPC error responses
- β
MCPClient request should throw on non-ok HTTP response
- β
MCPClient request should throw on 404 response
- β
MCPClient request should retry on network error
- β
MCPClient request should retry on ECONNREFUSED error
- β
MCPClient request should fail after max retries
- β
MCPClient request should not retry on non-network errors
- β
MCPClient request should track statistics
- β
MCPClient request should use default empty params when none provided
- β
MCPClient request should not add prefix when using direct server URL
- β
MCPClient request should add prefix when using MCP gateway URL
- β
MCPClient request should try without prefix if gateway returns Internal error
- β
MCPClient sleep should resolve after specified delay
- β
MCPClient fetchCalendarEvents should fetch calendar events with date range
- β
MCPClient fetchCalendarEvents should pass optional org and akt parameters
- β
MCPClient fetchCalendarEvents should return empty array when response has no events key
- β
MCPClient fetchCommitteeReports should fetch committee reports with limit
- β
MCPClient fetchCommitteeReports should pass optional rm and organ parameters
- β
MCPClient fetchCommitteeReports should return empty array when response has no reports key
- β
MCPClient fetchPropositions should fetch propositions with default limit
- β
MCPClient fetchPropositions should pass optional rm parameter
- β
MCPClient fetchPropositions should call correct tool name
- β
MCPClient fetchPropositions should return empty array when response has no propositions key
β
mcp-client-core-part2.test.js
- β
MCPClient Part 2 fetchMotions should fetch motions with default limit
- β
MCPClient Part 2 fetchMotions should pass optional rm parameter
- β
MCPClient Part 2 fetchMotions should call correct tool name
- β
MCPClient Part 2 fetchMotions should return empty array when response has no motions key
- β
MCPClient Part 2 searchDocuments should search documents with query parameters
- β
MCPClient Part 2 searchDocuments should call correct tool name
- β
MCPClient Part 2 searchDocuments should return empty array when response has no documents key
- β
MCPClient Part 2 searchSpeeches should search speeches with query parameters
- β
MCPClient Part 2 searchSpeeches should call correct tool name
- β
MCPClient Part 2 searchSpeeches should return empty array when response has no speeches key
- β
MCPClient Part 2 fetchMPs should fetch MPs with filters
- β
MCPClient Part 2 fetchMPs should call correct tool name
- β
MCPClient Part 2 fetchMPs should pass empty object when no filters provided
- β
MCPClient Part 2 fetchMPs should return empty array when response has no mps key
- β
MCPClient Part 2 fetchVotingRecords should fetch voting records with filters
- β
MCPClient Part 2 fetchVotingRecords should call correct tool name
- β
MCPClient Part 2 fetchVotingRecords should return empty array when response has no votes key
- β
MCPClient Part 2 fetchGovernmentDocuments should fetch government documents
- β
MCPClient Part 2 fetchGovernmentDocuments should call correct tool name
- β
MCPClient Part 2 fetchGovernmentDocuments should return empty array when response has no documents key
- β
MCPClient Part 2 getStats should return request statistics
- β
MCPClient Part 2 getStats should return 0% success rate when no requests made
- β
MCPClient Part 2 getStats should calculate success rate correctly
- β
MCPClient Part 2 getStats should show 100% success rate when all requests succeed
- β
MCPClient Part 2 resetStats should reset request and error counts to zero
- β
MCPClient Part 2 resetStats should reset after errors too
- β
MCPClient Part 2 tool name validation should reject empty tool names
- β
MCPClient Part 2 tool name validation should reject null/undefined tool names
- β
MCPClient Part 2 tool name validation should reject non-string tool names
- β
MCPClient Part 2 tool name validation should reject tool names with path traversal characters
- β
MCPClient Part 2 tool name validation should reject tool names with special characters
- β
MCPClient Part 2 tool name validation should accept valid tool names
- β
MCPClient Part 2 error counting accuracy should not over-count errors on retried requests
- β
MCPClient Part 2 error counting accuracy should count exactly one error for a fully failed request
β
mcp-client-exports.test.js
- β
Module convenience exports should export getDefaultClient function
- β
Module convenience exports should return MCPClient instance from getDefaultClient
- β
Module convenience exports should return same instance on repeated getDefaultClient calls
- β
Module convenience exports should export all convenience functions
- β
Module convenience exports convenience fetchCalendarEvents should delegate to default client
- β
Module convenience exports convenience fetchPropositions should delegate to default client
- β
Module convenience exports convenience searchDocuments should delegate to default client
- β
Module convenience exports convenience fetchMPs should delegate to default client
- β
Module convenience exports convenience fetchMotions should delegate to default client
- β
Module convenience exports convenience searchSpeeches should delegate to default client
- β
Module convenience exports convenience fetchVotingRecords should delegate to default client
- β
Module convenience exports convenience fetchGovernmentDocuments should delegate to default client
- β
Module convenience exports convenience fetchCommitteeReports should delegate to default client
β
news-article-generator-integration.test.js
- β
News Article Generator Integration Cross-Reference Validation should validate week-ahead cross-references
- β
News Article Generator Integration Cross-Reference Validation should validate committee-reports cross-references
- β
News Article Generator Integration Cross-Reference Validation should detect missing required tools
- β
News Article Generator Integration Cross-Reference Validation should track extra tools used
- β
News Article Generator Integration Required Tools Configuration should define required tools for all article types
- β
News Article Generator Integration Required Tools Configuration should require minimum 3 sources per article type
- β
News Article Generator Integration Cross-Reference Patterns should extract calendar references from content
- β
News Article Generator Integration Cross-Reference Patterns should extract document references from content
- β
News Article Generator Integration Cross-Reference Patterns should extract vote references from content
- β
News Article Generator Integration Cross-Reference Patterns should extract multiple reference types
- β
News Article Generator Integration Batch Validation should validate multiple articles at once
- β
News Article Generator Integration Batch Validation should calculate average score
- β
News Article Generator Integration Validation Reporting should generate markdown validation report
- β
News Article Generator Integration Validation Reporting should export CI-friendly summary
- β
News Article Generator Integration Validation Reporting should mark success when all articles pass
- β
News Article Generator Integration Quality Score Calculation should score perfect articles highly
- β
News Article Generator Integration Quality Score Calculation should score incomplete articles lower
β
news-evening-analysis.test.js
- β
Evening Analysis Structure Validation should parse evening analysis articles correctly
- β
Evening Analysis Structure Validation should include all 5 Editorial Pillars
- β
Evening Analysis Structure Validation should have minimum 200 words per major section
- β
Evening Analysis Structure Validation should have analytical thesis in lead paragraph
- β
Evening Analysis Structure Validation should validate proper HTML structure
- β
Evening Analysis Structure Validation should have proper hreflang tags for all languages
- β
Evening Analysis Structure Validation should include Schema.org NewsArticle structured data
- β
Evening Analysis Structure Validation should use external styles.css instead of embedded CSS
- β
Evening Analysis Structure Validation should follow Economist-style journalism standards
- β
Evening Analysis Structure Validation should have RTL direction for Arabic articles
- β
Analytical Depth Tests should include historical context
- β
Analytical Depth Tests should have international comparison when appropriate
- β
Analytical Depth Tests should include "so what" analysis
- β
Analytical Depth Tests should include "what next" analysis
- β
Analytical Depth Tests should calculate analytical depth score
- β
Analytical Depth Tests should include multiple party perspectives
- β
Analytical Depth Tests should cite riksdag-regering-mcp sources
- β
Cross-Workflow Coordination Tests should define workflow state schema
- β
Cross-Workflow Coordination Tests should calculate text similarity for deduplication
- β
Cross-Workflow Coordination Tests should detect potential duplication with recent articles
- β
Cross-Workflow Coordination Tests should validate metadata directory structure
- β
Cross-Workflow Coordination Tests should define quality metrics schema
- β
Multi-Language Quality Tests should generate all 14 language versions
- β
Multi-Language Quality Tests should maintain language attribute in HTML
- β
Multi-Language Quality Tests should have consistent structure across languages
- β
Multi-Language Quality Tests should maintain analytical tone across languages
- β
Multi-Language Quality Tests should have RTL direction for Hebrew articles
- β
Validation Helper Functions should correctly count words in text
- β
Validation Helper Functions should extract party mentions correctly
- β
Validation Helper Functions should detect historical markers
- β
Validation Helper Functions should detect international comparison markers
- β
Validation Helper Functions should calculate analytical depth from markers
β
news-realtime-monitor.test.js
- β
News Realtime Monitor - Multi-Language Synchronization getAllArticlesWithLanguageInfo should collect all articles from all languages
- β
News Realtime Monitor - Multi-Language Synchronization getAllArticlesWithLanguageInfo should detect available languages for same slug across languages
- β
News Realtime Monitor - Multi-Language Synchronization getAllArticlesWithLanguageInfo should have availableLanguages with single language for unique article
- β
News Realtime Monitor - Multi-Language Synchronization getAllArticlesWithLanguageInfo should sort articles by date descending (newest first)
- β
News Realtime Monitor - Multi-Language Synchronization generateLanguageBadge should generate language badge with flag and code
- β
News Realtime Monitor - Multi-Language Synchronization generateLanguageBadge should include dir="ltr" for RTL context
- β
News Realtime Monitor - Multi-Language Synchronization generateLanguageBadge should work for all supported languages
- β
News Realtime Monitor - Multi-Language Synchronization generateAvailableLanguages should return empty string for single language
- β
News Realtime Monitor - Multi-Language Synchronization generateAvailableLanguages should generate available languages text with badges for multiple languages
- β
News Realtime Monitor - Multi-Language Synchronization generateAvailableLanguages should use correct translation for each language
- β
News Realtime Monitor - Multi-Language Synchronization Real-world Integration Tests should verify all 14 language indexes exist
- β
News Realtime Monitor - Multi-Language Synchronization Real-world Integration Tests should verify French index contains language metadata in JavaScript
- β
News Realtime Monitor - Multi-Language Synchronization Real-world Integration Tests should verify all indexes have same article data structure
- β
News Realtime Monitor - Quality Framework assessAnalyticalDepth should score high for causal reasoning
- β
News Realtime Monitor - Quality Framework assessAnalyticalDepth should score high for comparative analysis
- β
News Realtime Monitor - Quality Framework assessAnalyticalDepth should return 0 for non-analytical content
- β
News Realtime Monitor - Quality Framework assessAnalyticalDepth should cap score at 1.0
- β
News Realtime Monitor - Quality Framework countPartyPerspectives should count Swedish party mentions
- β
News Realtime Monitor - Quality Framework countPartyPerspectives should normalize party names
- β
News Realtime Monitor - Quality Framework countPartyPerspectives should return 0 for no party mentions
- β
News Realtime Monitor - Quality Framework countPartyPerspectives should handle all 8 Swedish parties
- β
News Realtime Monitor - Quality Framework countCrossReferences should detect proposition references
- β
News Realtime Monitor - Quality Framework countCrossReferences should detect committee report references
- β
News Realtime Monitor - Quality Framework countCrossReferences should detect motion references
- β
News Realtime Monitor - Quality Framework countCrossReferences should return 0 for no document references
- β
News Realtime Monitor - Quality Framework hasWhyThisMatters should detect "Why This Matters" in English
- β
News Realtime Monitor - Quality Framework hasWhyThisMatters should detect Swedish equivalents
- β
News Realtime Monitor - Quality Framework hasWhyThisMatters should return false if section missing
- β
News Realtime Monitor - Quality Framework hasHistoricalContext should detect year references
- β
News Realtime Monitor - Quality Framework hasHistoricalContext should detect "historically" keyword
- β
News Realtime Monitor - Quality Framework hasHistoricalContext should return false if no historical context
- β
News Realtime Monitor - Quality Framework calculateQualityScore should calculate score with all metrics met
- β
News Realtime Monitor - Quality Framework calculateQualityScore should calculate lower score for poor metrics
- β
News Realtime Monitor - Quality Framework calculateQualityScore should normalize party count correctly
- β
News Realtime Monitor - Quality Framework calculateQualityScore should cap score at 1.0
- β
News Realtime Monitor - Quality Framework enhanceArticleQuality integration should pass for high-quality real article
- β
News Realtime Monitor - Quality Framework enhanceArticleQuality integration should fail for non-existent article
- β
News Realtime Monitor - Quality Framework enhanceArticleQuality integration should return detailed metrics
β
party-dashboard.test.js
- β
Party Dashboard Dashboard Structure should have party dashboard container
- β
Party Dashboard Dashboard Structure should have dashboard title and description
- β
Party Dashboard Dashboard Structure should have footer with data source attribution
- β
Party Dashboard Chart Canvas Elements should have partyEffectivenessChart canvas
- β
Party Dashboard Chart Canvas Elements partyEffectivenessChart should have ARIA role and label
- β
Party Dashboard Chart Canvas Elements partyEffectivenessChart should have screen reader only text
- β
Party Dashboard Chart Canvas Elements should have partyComparisonChart canvas
- β
Party Dashboard Chart Canvas Elements partyComparisonChart should have ARIA role and label
- β
Party Dashboard Chart Canvas Elements partyComparisonChart should have screen reader only text
- β
Party Dashboard Chart Canvas Elements should have partyMomentumChart canvas
- β
Party Dashboard Chart Canvas Elements partyMomentumChart should have ARIA role and label
- β
Party Dashboard Chart Canvas Elements partyMomentumChart should have screen reader only text
- β
Party Dashboard Chart Canvas Elements should have coalitionAlignmentChart div container
- β
Party Dashboard Accessibility should have semantic HTML structure
- β
Party Dashboard Accessibility all charts should have proper ARIA attributes
- β
Party Dashboard Accessibility should have screen reader descriptions for all charts
- β
Party Dashboard Accessibility external links should have target="_blank"
- β
Party Dashboard Party Configuration should support all 8 Swedish parties
- β
Party Dashboard Party Configuration should define party colors for Chart.js
- β
Party Dashboard Chart Types partyEffectivenessChart should expect line chart data structure
- β
Party Dashboard Chart Types partyComparisonChart should expect bar chart data structure
- β
Party Dashboard Chart Types coalitionAlignmentChart should expect matrix/heatmap structure
- β
Party Dashboard Chart Types partyMomentumChart should expect doughnut/pie chart structure
- β
Party Dashboard Data Loading Structure dashboard should be ready for real CIA CSV data
- β
Party Dashboard Empty State Handling should have structure to display empty state messages
- β
Party Dashboard Responsive Design should use dashboard-grid for responsive layout
- β
Party Dashboard Responsive Design should have chart cards for consistent styling
- β
Party Dashboard Responsive Design should have grid layout structure
- β
Party Dashboard Multi-Language Support should have structure ready for i18n translations
- β
Party Dashboard Multi-Language Support should support Swedish party name translations
β
party-variants.test.js
- β
party-variants PARTY_VARIANTS should have all 8 Swedish parliamentary parties
- β
party-variants PARTY_VARIANTS should have canonical code and variants for each party
- β
party-variants PARTY_VARIANTS should have correct Socialdemokraterna variants
- β
party-variants PARTY_VARIANTS should have correct Moderaterna variants
- β
party-variants PARTY_VARIANTS should have correct Sverigedemokraterna variants
- β
party-variants PARTY_VARIANTS should have correct VΓ€nsterpartiet variants
- β
party-variants PARTY_VARIANTS should have correct MiljΓΆpartiet variants
- β
party-variants PARTY_VARIANTS should have correct Centerpartiet variants
- β
party-variants PARTY_VARIANTS should have correct Liberalerna variants
- β
party-variants PARTY_VARIANTS should have correct Kristdemokraterna variants
- β
party-variants PARTY_VARIANTS should have unique variants within each party
- β
party-variants extractPartyMentions Single party detection should detect Socialdemokraterna by full name
- β
party-variants extractPartyMentions Single party detection should detect Socialdemokraterna by abbreviation
- β
party-variants extractPartyMentions Single party detection should detect Moderaterna by full name
- β
party-variants extractPartyMentions Single party detection should detect Sverigedemokraterna
- β
party-variants extractPartyMentions Single party detection should detect VΓ€nsterpartiet
- β
party-variants extractPartyMentions Single party detection should detect MiljΓΆpartiet
- β
party-variants extractPartyMentions Single party detection should detect MP abbreviation after HTML tag
- β
party-variants extractPartyMentions Single party detection should detect SD abbreviation after HTML tag
- β
party-variants extractPartyMentions Single party detection should detect KD abbreviation after HTML tag
- β
party-variants extractPartyMentions Single party detection should detect Centerpartiet
- β
party-variants extractPartyMentions Single party detection should detect Liberalerna
- β
party-variants extractPartyMentions Single party detection should detect Kristdemokraterna
- β
party-variants extractPartyMentions Multiple parties detection should detect two parties
- β
party-variants extractPartyMentions Multiple parties detection should detect three parties
- β
party-variants extractPartyMentions Multiple parties detection should detect all eight parties
- β
party-variants extractPartyMentions Multiple parties detection should detect mix of full names and abbreviations
- β
party-variants extractPartyMentions No double-counting should count party once when both full name and abbreviation appear
- β
party-variants extractPartyMentions No double-counting should count party once when full name appears multiple times
- β
party-variants extractPartyMentions No double-counting should count party once when abbreviation appears multiple times
- β
party-variants extractPartyMentions No double-counting should prevent double-counting in complex scenario
- β
party-variants extractPartyMentions Case-insensitive matching should detect lowercase party names
- β
party-variants extractPartyMentions Case-insensitive matching should detect uppercase party abbreviations
- β
party-variants extractPartyMentions Case-insensitive matching should detect mixed case party names
- β
party-variants extractPartyMentions Word boundary matching should match full word "S" not partial "SD"
- β
party-variants extractPartyMentions Word boundary matching should match full word "M" not partial "MP"
- β
party-variants extractPartyMentions Word boundary matching should not match party name as substring of another word
- β
party-variants extractPartyMentions Word boundary matching should match party name with punctuation
- β
party-variants extractPartyMentions Word boundary matching should match party name at start of sentence
- β
party-variants extractPartyMentions Word boundary matching should match party name at end of sentence
- β
party-variants extractPartyMentions Edge cases should return empty Set for empty string
- β
party-variants extractPartyMentions Edge cases should return empty Set for null input
- β
party-variants extractPartyMentions Edge cases should return empty Set for undefined input
- β
party-variants extractPartyMentions Edge cases should return empty Set for text without party mentions
- β
party-variants extractPartyMentions Edge cases should handle HTML with tags and attributes
- β
party-variants extractPartyMentions Edge cases should handle HTML entities
- β
party-variants extractPartyMentions Edge cases should handle newlines and multiple spaces
- β
party-variants extractPartyMentions Returns Set should return a Set instance
- β
party-variants extractPartyMentions Returns Set should return canonical codes not variants
- β
party-variants extractPartyMentions Returns Set should be iterable
β
risk-dashboard.test.js
- β
Risk Dashboard Risk Level Configuration should define all four risk levels
- β
Risk Dashboard Risk Level Configuration should have non-overlapping score ranges
- β
Risk Dashboard Risk Level Configuration should have valid hex color codes
- β
Risk Dashboard Risk Level Configuration should have human-readable labels
- β
Risk Dashboard Risk Level Configuration should cover full 0-10 score range
- β
Risk Dashboard Party Colors Configuration should define colors for all 8 Swedish parties
- β
Risk Dashboard Party Colors Configuration should include all expected party abbreviations
- β
Risk Dashboard Party Colors Configuration should have valid hex color codes
- β
Risk Dashboard Party Colors Configuration should have distinct colors for each party
- β
Risk Dashboard CIA Data URLs Configuration should define 9 data source URLs
- β
Risk Dashboard CIA Data URLs Configuration should point to GitHub raw content
- β
Risk Dashboard CIA Data URLs Configuration should reference CSV files
- β
Risk Dashboard CIA Data URLs Configuration should reference sample-data directory
- β
Risk Dashboard CIA Data URLs Configuration should include risk-related datasets
- β
Risk Dashboard CIA Data URLs Configuration should include anomaly datasets
- β
Risk Dashboard CIA Data URLs Configuration should include top-10 datasets
- β
Risk Dashboard Risk Classification should classify scores 8.0-10.0 as CRITICAL
- β
Risk Dashboard Risk Classification should classify scores 6.0-7.99 as HIGH
- β
Risk Dashboard Risk Classification should classify scores 4.0-5.99 as MEDIUM
- β
Risk Dashboard Risk Classification should classify scores 0.0-3.99 as LOW
- β
Risk Dashboard Risk Classification should handle boundary values correctly
- β
Risk Dashboard Risk Color Mapping should return red for critical scores
- β
Risk Dashboard Risk Color Mapping should return orange for high scores
- β
Risk Dashboard Risk Color Mapping should return yellow for medium scores
- β
Risk Dashboard Risk Color Mapping should return green for low scores
- β
Risk Dashboard Mock Risk Data Generation should generate 15,705 data points (349 MPs Γ 45 rules)
- β
Risk Dashboard Mock Risk Data Generation should assign all 8 parties to MPs
- β
Risk Dashboard Mock Risk Data Generation should generate 349 unique politicians
- β
Risk Dashboard Mock Risk Data Generation should generate 45 unique rules
- β
Risk Dashboard Mock Risk Data Generation should generate scores within 0-10 range
- β
Risk Dashboard Mock Risk Data Generation should have proper data structure for each entry
- β
Risk Dashboard Mock Risk Data Generation should generate realistic risk distribution (majority low)
- β
Risk Dashboard Mock Risk Data Generation should assign consistent level labels
- β
Risk Dashboard Mock Risk Data Generation should format politician names with zero-padded index
- β
Risk Dashboard Mock Risk Data Generation should format rule IDs with zero-padded index
- β
Risk Dashboard Percentile Calculation should calculate P50 (median) correctly
- β
Risk Dashboard Percentile Calculation should calculate P90 correctly
- β
Risk Dashboard Percentile Calculation should calculate P99 correctly
- β
Risk Dashboard Percentile Calculation should handle single-element arrays
- β
Risk Dashboard Percentile Calculation should handle unsorted input
- β
Risk Dashboard Percentile Calculation should not mutate original array
- β
Risk Dashboard DOM Structure should have risk dashboard section
- β
Risk Dashboard DOM Structure should have dashboard-container class
- β
Risk Dashboard DOM Structure should have early warnings banner with ARIA attributes
- β
Risk Dashboard DOM Structure should have risk heat map container
- β
Risk Dashboard DOM Structure should have heat map legend
- β
Risk Dashboard DOM Structure should have all chart canvases
- β
Risk Dashboard DOM Structure should have top 10 lists
- β
Risk Dashboard DOM Structure should have last updated span
- β
Risk Dashboard DOM Structure should have filter controls
- β
Risk Dashboard DOM Structure should have accessible chart canvases with role=img
- β
Risk Dashboard DOM Structure should have aria-labels on chart canvases
- β
Risk Dashboard DOM Structure should have accessible top 10 lists with aria-labels
- β
Risk Dashboard Filter Controls should have high-risk filter checkbox
- β
Risk Dashboard Filter Controls should have risk rule filter dropdown
- β
Risk Dashboard Filter Controls should have "All Rules" default option
- β
Risk Dashboard Filter Controls should have reset zoom button
- β
Risk Dashboard Early Warning System should display critical alert when critical MPs exist
- β
Risk Dashboard Early Warning System should display high alert for elevated risk
- β
Risk Dashboard Early Warning System should display normal status when risks are acceptable
- β
Risk Dashboard Early Warning System should set assertive aria-live for critical alerts
- β
Risk Dashboard Early Warning System should set polite aria-live for non-critical alerts
- β
Risk Dashboard CIA Data Loading should handle successful CSV fetch
- β
Risk Dashboard CIA Data Loading should handle failed CSV fetch gracefully
- β
Risk Dashboard CIA Data Loading should handle network errors gracefully
- β
Risk Dashboard CIA Data Loading should parse risk_level CSV columns
- β
Risk Dashboard CIA Data Loading should parse politician_count as integer
- β
Risk Dashboard CIA Data Loading should transform risk data into matrix format
- β
Risk Dashboard Chart.js Visualizations should have canvas context for risk distribution chart
- β
Risk Dashboard Chart.js Visualizations should have canvas context for anomaly detection chart
- β
Risk Dashboard Chart.js Visualizations should have canvas context for crisis resilience chart
- β
Risk Dashboard Chart.js Visualizations should have canvas context for risk evolution chart
- β
Risk Dashboard Chart.js Visualizations should create risk distribution chart with bar type
- β
Risk Dashboard Chart.js Visualizations should create anomaly detection chart with scatter type
- β
Risk Dashboard Chart.js Visualizations should create crisis resilience chart with radar type
- β
Risk Dashboard Chart.js Visualizations should create risk evolution chart with line type
- β
Risk Dashboard Top 10 Lists should populate ethics concerns list with OL items
- β
Risk Dashboard Top 10 Lists should populate electoral risk list with OL items
- β
Risk Dashboard Top 10 Lists should sort ethics concerns by descending score
- β
Risk Dashboard Heat Map Legend should render 4 legend items
- β
Risk Dashboard Data Attribution should have data source link to CIA Platform
- β
Risk Dashboard Data Attribution should have external link safety attributes
- β
Risk Dashboard Data Attribution should display last updated timestamp placeholder
- β
Risk Dashboard Data Attribution should update timestamp with locale format
β
sitemap-generation.test.js
- β
Sitemap Generation Basic Structure should generate valid XML string
- β
Sitemap Generation Basic Structure should be valid XML
- β
Sitemap Generation Basic Structure should have URL entries
- β
Sitemap Generation Basic Structure should have hreflang support
- β
Sitemap Generation Main Pages Coverage should include main index page
- β
Sitemap Generation Main Pages Coverage should include all 14 language index pages
- β
Sitemap Generation Main Pages Coverage should include politician dashboard
- β
Sitemap Generation Dashboard Pages Coverage should include English dashboard
- β
Sitemap Generation Dashboard Pages Coverage should include dashboard pages for all languages
- β
Sitemap Generation News Articles Coverage should include news index page
- β
Sitemap Generation News Articles Coverage should include news articles
- β
Sitemap Generation News Articles Coverage should include articles in multiple languages
- β
Sitemap Generation News Articles Coverage should include hreflang alternates for news articles
- β
Sitemap Generation API Documentation Coverage should include API index page
- β
Sitemap Generation API Documentation Coverage should include API documentation files
- β
Sitemap Generation API Documentation Coverage should include module documentation
- β
Sitemap Generation API Documentation Coverage should include script documentation
- β
Sitemap Generation Sitemap HTML Pages Coverage should include sitemap HTML pages
- β
Sitemap Generation Sitemap HTML Pages Coverage should include sitemap pages for multiple languages
- β
Sitemap Generation URL Quality should have proper lastmod dates
- β
Sitemap Generation URL Quality should have changefreq values
- β
Sitemap Generation URL Quality should have priority values
- β
Sitemap Generation URL Quality should use proper base URL
- β
Sitemap Generation URL Quality should not have duplicate URLs
- β
Sitemap Generation File Size and Performance should be under 50MB (sitemap limit)
- β
Sitemap Generation File Size and Performance should have less than 50,000 URLs (sitemap limit)
β
validate-news-translations.test.js
- β
validate-news-translations.js Language code detection should detect English files
- β
validate-news-translations.js Language code detection should skip Swedish files
- β
validate-news-translations.js Language code detection should handle files without language code
- β
validate-news-translations.js Untranslated marker detection should detect untranslated markers
- β
validate-news-translations.js Untranslated marker detection should pass validation for fully translated files
- β
validate-news-translations.js Untranslated marker detection should extract sample untranslated text
- β
validate-news-translations.js Multiple file validation should validate multiple language files
- β
validate-news-translations.js Multiple file validation should report mixed results
- β
validate-news-translations.js Recursive directory scanning should scan subdirectories
- β
validate-news-translations.js Exit codes should exit with 0 for fully translated articles
- β
validate-news-translations.js Exit codes should exit with 1 for untranslated content
- β
validate-news-translations.js CJK and RTL language support should validate CJK languages
- β
validate-news-translations.js CJK and RTL language support should validate RTL languages
β
workflow-state-coordinator.test.js
- β
Workflow State Coordinator State Management should initialize with empty state
- β
Workflow State Coordinator State Management should save and load state
- β
Workflow State Coordinator State Management should create metadata directory if missing
- β
Workflow State Coordinator State Management should set lastUpdate timestamp on save
- β
Workflow State Coordinator MCP Query Caching should cache MCP query result
- β
Workflow State Coordinator MCP Query Caching should retrieve cached MCP query
- β
Workflow State Coordinator MCP Query Caching should return null for non-existent cache key
- β
Workflow State Coordinator MCP Query Caching should expire cache after TTL
- β
Workflow State Coordinator MCP Query Caching should include result hash in cache entry
- β
Workflow State Coordinator Recent Article Tracking should add recent article
- β
Workflow State Coordinator Recent Article Tracking should set timestamp on article addition
- β
Workflow State Coordinator Recent Article Tracking should get recent articles within time window
- β
Workflow State Coordinator Recent Article Tracking should cleanup expired articles
- β
Workflow State Coordinator Duplicate Detection should detect duplicate with high title similarity
- β
Workflow State Coordinator Duplicate Detection should not flag as duplicate with low similarity
- β
Workflow State Coordinator Duplicate Detection should consider topic overlap in similarity
- β
Workflow State Coordinator Duplicate Detection should return matched article details when duplicate found
- β
Workflow State Coordinator Similarity Calculations should calculate string similarity correctly
- β
Workflow State Coordinator Similarity Calculations should calculate set overlap correctly
- β
Workflow State Coordinator Similarity Calculations should handle empty sets in overlap calculation
- β
Workflow State Coordinator Similarity Calculations should combine factors in similarity calculation
- β
Workflow State Coordinator Workflow Recording should record workflow execution
- β
Workflow State Coordinator Workflow Recording should increment run count on multiple executions
- β
Workflow State Coordinator Workflow Recording should track articles generated across runs
- β
Workflow State Coordinator Workflow Recording should get workflow statistics
β
breaking-news.test.js
- β
Breaking News Article Generation Configuration should export REQUIRED_TOOLS constant
- β
Breaking News Article Generation Event-Driven Generation should require event data
- β
Breaking News Article Generation Event-Driven Generation should generate with event data
- β
Breaking News Article Generation Event-Driven Generation should fetch votes if voteId provided
- β
Breaking News Article Generation Event-Driven Generation should fetch speeches if topic provided
- β
Breaking News Article Generation Article Structure should generate breaking news slug
- β
Breaking News Article Generation Article Structure should generate for multiple languages
- β
Breaking News Article Generation Validation should export validateBreakingNews function
- β
Breaking News Article Generation Validation should validate breaking event content
- β
Breaking News Article Generation Validation should check for timeliness
- β
Breaking News Article Generation Multi-Language should generate language-specific titles
β
committee-reports.test.js
- β
Committee Reports Article Generation Configuration should export REQUIRED_TOOLS constant
- β
Committee Reports Article Generation Configuration should require betankanden tool
- β
Committee Reports Article Generation Configuration should only list tools actually used by generateCommitteeReports
- β
Committee Reports Article Generation Cross-Referencing Pattern should call betankanden MCP tool
- β
Committee Reports Article Generation Cross-Referencing Pattern should fetch specified number of reports
- β
Committee Reports Article Generation Cross-Referencing Pattern should use default limit of 10 reports
- β
Committee Reports Article Generation Cross-Referencing Pattern should track MCP calls for validation
- β
Committee Reports Article Generation Data Handling should handle empty reports gracefully
- β
Committee Reports Article Generation Data Handling should skip generation when no reports found
- β
Committee Reports Article Generation Data Handling should process reports data correctly
- β
Committee Reports Article Generation Article Structure should generate articles for all requested languages
- β
Committee Reports Article Generation Article Structure should include correct slug format
- β
Committee Reports Article Generation Article Structure should generate HTML content for each language
- β
Committee Reports Article Generation Article Structure should include filename for each article
- β
Committee Reports Article Generation Committee Analysis should include report count in metadata
- β
Committee Reports Article Generation Committee Analysis should track betankanden as data source
- β
Committee Reports Article Generation Validation Functions should export validateCommitteeReports function
- β
Committee Reports Article Generation Validation Functions should validate article has committee reports
- β
Committee Reports Article Generation Validation Functions should check for minimum sources
- β
Committee Reports Article Generation Validation Functions should check for analysis tone
- β
Committee Reports Article Generation Validation Functions should check for party positions
- β
Committee Reports Article Generation Multi-Language Support should generate language-specific titles
- β
Committee Reports Article Generation Multi-Language Support should support all 14 languages
- β
Committee Reports Article Generation Error Handling should return success false on MCP error
- β
Committee Reports Article Generation Error Handling should include error message in result
- β
Committee Reports Article Generation Integration with Writer should call writeArticle function if provided
- β
Committee Reports Article Generation Integration with Writer should work without writeArticle function
β
motions.test.js
- β
Motions Article Generation Configuration should export REQUIRED_TOOLS constant
- β
Motions Article Generation Data Collection should fetch motions from MCP
- β
Motions Article Generation Data Collection should handle empty motions
- β
Motions Article Generation Article Structure should generate articles for requested languages
- β
Motions Article Generation Article Structure should include correct slug format
- β
Motions Article Generation Validation should export validateMotions function
- β
Motions Article Generation Validation should validate motions content
- β
Motions Article Generation Multi-Language should generate language-specific titles
- β
Motions Article Generation Error Handling should handle MCP errors
β
propositions.test.js
- β
Propositions Article Generation Configuration should export REQUIRED_TOOLS constant
- β
Propositions Article Generation Data Collection should fetch propositions from MCP
- β
Propositions Article Generation Data Collection should handle empty propositions
- β
Propositions Article Generation Article Structure should generate articles for requested languages
- β
Propositions Article Generation Article Structure should include correct slug format
- β
Propositions Article Generation Validation should export validatePropositions function
- β
Propositions Article Generation Validation should validate propositions content
- β
Propositions Article Generation Multi-Language should generate language-specific titles
- β
Propositions Article Generation Error Handling should handle MCP errors
β
week-ahead.test.js
- β
Week-Ahead Article Generation Configuration should export REQUIRED_TOOLS constant
- β
Week-Ahead Article Generation Configuration should require calendar_events tool
- β
Week-Ahead Article Generation Configuration should only list tools actually used by generateWeekAhead
- β
Week-Ahead Article Generation Date Range Calculation should export getWeekAheadDateRange function
- β
Week-Ahead Article Generation Date Range Calculation should return date range starting tomorrow
- β
Week-Ahead Article Generation Date Range Calculation should return 7-day range
- β
Week-Ahead Article Generation Date Range Calculation should return ISO date format (YYYY-MM-DD)
- β
Week-Ahead Article Generation Data Collection should fetch calendar events for next 7 days
- β
Week-Ahead Article Generation Data Collection should pass correct date range to MCP client
- β
Week-Ahead Article Generation Data Collection should handle MCP client errors gracefully
- β
Week-Ahead Article Generation Data Collection should track MCP calls for validation
- β
Week-Ahead Article Generation Article Structure should generate articles for all requested languages
- β
Week-Ahead Article Generation Article Structure should generate EN version by default
- β
Week-Ahead Article Generation Article Structure should generate SV version by default
- β
Week-Ahead Article Generation Article Structure should include correct slug format
- β
Week-Ahead Article Generation Article Structure should generate HTML content for each language
- β
Week-Ahead Article Generation Article Structure should include filename for each article
- β
Week-Ahead Article Generation Cross-Referencing should include cross-reference data in result
- β
Week-Ahead Article Generation Cross-Referencing should track calendar events count
- β
Week-Ahead Article Generation Cross-Referencing should list data sources used
- β
Week-Ahead Article Generation Validation Functions should export validateWeekAhead function
- β
Week-Ahead Article Generation Validation Functions should validate article has calendar events
- β
Week-Ahead Article Generation Validation Functions should check for minimum sources
- β
Week-Ahead Article Generation Validation Functions should check for prospective tone
- β
Week-Ahead Article Generation Validation Functions should check daily coverage
- β
Week-Ahead Article Generation Multi-Language Support should support all 14 languages
- β
Week-Ahead Article Generation Multi-Language Support should generate language-specific titles
- β
Week-Ahead Article Generation Multi-Language Support should handle RTL languages (ar, he)
- β
Week-Ahead Article Generation Error Handling should return success false on MCP error
- β
Week-Ahead Article Generation Error Handling should include error message in result
- β
Week-Ahead Article Generation Error Handling should still return mcpCalls on error
- β
Week-Ahead Article Generation Integration with Writer should call writeArticle function if provided
- β
Week-Ahead Article Generation Integration with Writer should pass html and filename to writer
- β
Week-Ahead Article Generation Integration with Writer should work without writeArticle function
β Back to Documentation Hub