E2E Tests

KeyValue
StatusActive
OwnerQA Automation
Updated2026-03-26
ScopeFull user journey tests across all 6 CNC sites

E2E tests exist because passing smoke and PDT tests do not prove that a real user can actually move through the site. Smoke confirms the page loads. E2E confirms that galleries open, videos play, navigation works, articles link forward, and share flows are reachable — in sequence, as a user would experience them.

What The Suite Does

CapabilityWhat It Means
multi-step journeystests simulate real user flows, not single isolated checks
per-site specificityeach site has its own spec with site-specific selectors and URL patterns
media coveragegallery browsing, video playback, podcast catalog — validated per site
soft fallbacksif a gallery is not on the homepage that day, the test finds it another way
failure isolationone broken test does not cascade to unrelated tests on the same site

Current Shape

MetricCurrent Snapshot
total tests76
passing71
pass rate93.4%
sites covered6
spec files6 (one per site)
schedulenightly

Test Counts By Site

SiteTestsCategories
Auto15journey, navigation, content, gallery (3), video (3), podcast (4), social
Blesk12journey (2), navigation, content, gallery (3), video (2), live, social, news
E1511journey (2), navigation, content, gallery (2), video (3), podcast (2), social
iSport11journey (2), navigation, content, gallery (2), video (2), live, podcast, social
Opinio15journey (2), navigation, content, gallery (2), video (2), podcast (3), social, publication
Reflex12journey (2), navigation, content, gallery (2), video (2), podcast, live, social
Total76

Test Categories Explained

CategoryWhat Is Tested
journeyend-to-end user flow (homepage → category → article → related → return)
navigationnav element visible, menu opens, category link works, content loads
contentarticle reading: title visible, scroll, related content section present
galleryarticle photo gallery present, navigation controls (forward/back), image count
videoinline player present, playback controls work, dedicated video listing page
podcastpodcast catalog reachable, episode page loads, playback starts, episode navigation
live/live or /zpravy page loads, timeline entries visible
socialshare button visible in article, share menu opens on click
newsnews listing page loads, article cards present, first article opens

Full Test List

SiteTest NameCategoryNotes
AutoJourney: Casual News Readerjourneyhomepage → category → article → related → home
AutoJourney: Media Consumerjourneyhomepage → gallery → video → home
AutoNavigation Journeynavigationnav visible, category click, content loads
AutoArticle Reading Journeycontentarticle title, scroll, related
AutoGallery - Article Photo Gallerygalleryembedded swiper/carousel
AutoGallery - Navigation ControlsgalleryURL-based foto= param navigation
AutoGallery - Image Countgalleryat least one image
AutoVideo - Article Inline Playbackvideoknown article URL, VP player
AutoVideo - Dedicated Video Pagevideo/video listing, player in article
AutoVideo - Playback Controlsvideocontrols start media
AutoPodcast - Browse Catalogpodcast/podcasty listing
AutoPodcast - Play Episodepodcastknown episode URL, player visible
AutoPodcast - Playback Controlspodcastcontrols start audio
AutoPodcast - Episode Navigationpodcastepisode cards clickable
AutoSocial - Share Articlesocialshare button in up to 5 articles
BleskJourney: Casual News Readerjourneyhomepage → zpravy/celebrity → article → related → home
BleskJourney: Media Consumerjourneyhomepage → gallery → video → home
BleskNavigation Journeynavigationnav element, category click
BleskArticle Reading Journeycontentarticle title, scroll, related
BleskGallery - Article Photo GallerygalleryURL-based (keyboard ArrowRight)
BleskGallery - Navigation Controlsgalleryforward/backward counter changes
BleskGallery - Image Countgalleryimage count >= 1
BleskVideo - Article Inline Playbackvideotv.blesk.cz VP player
BleskVideo - Playback ControlsvideoVP overlay click, video state check
BleskLive - Dedicated Live Pagelive/live or /zpravy redirect, timeline entries
BleskSocial - Share Articlesocialshare button present and clickable
BleskNews - Zpravy Listingnews/zpravy listing, article card count, open first
E15(11 tests — journey/navigation/content/gallery/video/podcast/social)Didomi consent
iSport(11 tests — journey/navigation/content/gallery/video/live/podcast/social)CPEX consent
Opinio(15 tests — journey/navigation/content/gallery/video/podcast/social/publication)no desktop hamburger; /publikace
Reflex(12 tests — journey/navigation/content/gallery/video/podcast/live/social)Didomi consent

CNC sites use two distinct gallery implementations. Tests adapt automatically.

PatternSitesNavigation Method
URL-based (foto= query param)Blesk, E15ArrowRight key, wait for URL change
Embedded carousel (swiper)Auto, iSport, Opinio, Reflexnext button click or ArrowRight

How To Run

CommandWhat It Does
npm run test:e2eAll 76 tests, all sites
npm run test:e2e -- --grep "blesk"Blesk only
npm run test:e2e -- --grep "auto"Auto only
npm run test:uiInteractive Playwright UI mode
npm run test:headedHeaded browser (see the browser)
npm run test:traceWith Playwright trace
npm run test:debugWith debug mode

Failure Handling

Where To Look First

Failure TypeWhere To Check
gallery test failingcheck if gallery URL pattern changed (foto= vs inline)
video test failingcheck if VP player selector changed; check tv.blesk.cz layout
podcast test failingcheck if /podcasty URL is still valid; check known episode URLs
live test failingcheck if /live redirects to a different path
share test failingcheck if share button selector changed
navigation test failingcheck if hamburger menu behavior changed

Auto-Healable Categories

CategoryHealer Action
SELECTOR_NOT_IN_DOMrun npm run heal:claude, healer finds replacement
SELECTOR_STALErun npm run heal:apply with fresh selector
TIMEOUT_ELEMENThealer adjusts timeout or selector strategy

Manual Investigation Required

CategoryReason
gallery navigation produces no URL changesite may have switched gallery implementation
video player not found on known URLplayer embed changed
podcast episode URL returns 404test URL needs updating to a current episode

Soft Fallbacks

E2E tests are designed to skip rather than fail when content is genuinely absent (not a breakage). This is deliberate for live news sites where content rotates.

SituationBehavior
no gallery link on homepagetest tries direct /galerie/ navigation before skipping
no video link on homepagetest opens first article and checks for player
no share button in first articletest tries up to 5 articles before skipping
no related articles in articletest logs warning and continues
NeedGo To
authentication and paywall journeysUser-flows Tests
mobile-specific journey testsMobile Tests
high-level suite listTest Types