Smoke Tests

KeyValue
StatusActive
OwnerQA Automation
Updated2026-03-26
ScopeRapid health check across all 6 CNC sites

Smoke tests exist to answer one question: is the site basically up? They run in under 30 seconds per site, before and after deploys, and on demand. They do not prove journeys work — that is E2E. They do not validate post-deploy feature correctness — that is PDT. They prove the site loads, the header is present, an article is reachable, and the menu responds.

What The Suite Does

CheckWhat It Proves
HTTP responsesite responds with status < 400
consent handlingconsent dialog is dismissed without blocking test
header visiblecore layout element present in DOM
article clickclicking a main article navigates to a new URL
footer visiblepage renders to its end without JS errors
navigation menuhamburger menu opens (or Opinio: /publikace link clickable)

Current Shape

MetricCurrent Snapshot
total tests12
passing12
pass rate100%
sites covered6
spec file1 (tests/smoke.spec.ts)
duration~30 seconds

Test Counts By Site

The smoke spec is a loop over all 6 sites. Each site gets 2 tests.

SiteTestsNotes
Auto2CPEX consent
Blesk2CPEX consent
E152Didomi consent
iSport2CPEX consent
Opinio2CPEX consent; navigation test uses /publikace not hamburger
Reflex2Didomi consent
Total12

Full Test List

SiteTest NameWhat It Checks
Autohealth checkHTTP < 400, consent, header visible, article click, footer
Autonavigation menuhamburger opens, menu footer visible, menu closes
Bleskhealth checkHTTP < 400, consent, header visible, article click, footer
Blesknavigation menuhamburger opens, menu footer visible, menu closes
E15health checkHTTP < 400, consent, header visible, article click, footer
E15navigation menuhamburger opens, menu footer visible, menu closes
iSporthealth checkHTTP < 400, consent, header visible, article click, footer
iSportnavigation menuhamburger opens, menu footer visible, menu closes
Opiniohealth checkHTTP < 400, consent, header visible, article click, footer
Opinionavigation menu/publikace link clickable, navigates to /publikace path
Reflexhealth checkHTTP < 400, consent, header visible, article click, footer
Reflexnavigation menuhamburger opens, menu footer visible, menu closes

Health Check Steps

Each health check test runs these steps in order:

StepNameFailure Behavior
1Load site (domcontentloaded)hard fail
2Handle consent dialogsoft — test continues even if consent not found
3Header visiblehard fail
4Click main articlesoft — logs warning, does not fail test
5Footer visiblesoft — logged but not asserted

How To Run

CommandWhat It Does
npm run test:smokeAll 12 tests, all sites
npm run test:smoke -- --grep "blesk"Blesk only (2 tests)
SITE=auto npm run test:siteSingle site via env var
npm run test:headedHeaded browser
npm run test:debugWith debug mode

Smoke vs PDT

SmokePDT
purposeis the site up?did the deploy break anything?
when to runbefore deploys, on demandafter deploys
depthsurface-level (load + header + click)multi-phase (homepage + article + ads + menu + search)
duration~30s~5m 20s
test count12 (2/site)30 (5/site)
ad checksnoneyes
site-specific featuresnoyes (car search for Auto, premium for iSport, etc.)

Performance Metrics

Smoke tests collect Core Web Vitals via MetricsCollector and attach them as JSON to each test run. This data is not asserted in smoke — it is surfaced in Grafana for trend tracking.

SiteConsent ProviderHandling
AutoCPEXhandleConsentWithPersistence
BleskCPEXhandleConsentWithPersistence
E15DidomihandleConsentWithPersistence
iSportCPEXhandleConsentWithPersistence
OpinioCPEXhandleConsentWithPersistence
ReflexDidomihandleConsentWithPersistence
NeedGo To
post-deploy validationPDT Tests
full user journeysE2E Tests
high-level suite listTest Types