PDT Tests
| Key | Value |
|---|---|
| Status | Active |
| Owner | QA Automation |
| Updated | 2026-03-26 |
| Scope | Production deployment verification across all 6 CNC sites |
PDT (Production Deployment Tests) exist to confirm that a deploy did not break anything. They run after every deploy and answer: does the homepage load, does the menu work, does search return results, does video play, do category navigations land on real pages? They are not a full user journey suite — that is E2E. They are a fast, targeted gate that catches the most common deploy regressions before they reach readers.
What The Suite Does
| Capability | What It Means |
|---|---|
| multi-phase per test | each test covers several related steps (homepage → menu → article → footer) |
| ad presence checks | homepage and article ads validated as soft checks |
| site-specific features | car search for Auto, premium sections for E15 and Reflex, sports sections for iSport |
| consent handling | each test dismisses consent before assertions |
| screenshot on failure | key phases capture screenshots for debugging |
Current Shape
| Metric | Current Snapshot |
|---|---|
| total tests | 30 |
| passing | 30 |
| pass rate | 100% |
| sites covered | 6 |
| spec files | 6 (one per site in tests/pdt/) |
| duration | ~5m 20s |
| schedule | after deploys |
Test Counts By Site
| Site | Tests | Notes |
|---|---|---|
| Auto | 5 | includes car search feature test |
| Blesk | 4 | |
| E15 | 5 | includes premium category test |
| iSport | 5 | includes football and hockey section tests |
| Opinio | 6 | revenue calculator, category filtering, subdomain nav, auth pages, search |
| Reflex | 6 | includes photo gallery, premium, and commentary section |
| Total | 30 |
Full Test List
| Site | Test Name | Category | |
|---|---|---|---|
| Auto | auto.cz | Homepage & Article | homepage, menu, article, footer |
| Auto | auto.cz | Video Article | video section navigation, video player |
| Auto | auto.cz | Search | search overlay, results, article click |
| Auto | auto.cz | Category Navigation | news category navigation |
| Auto | auto.cz | Car Search Feature | brand dropdown, model dropdown, search results |
| Blesk | blesk.cz | Homepage & Article | homepage, menu, article, weather, footer |
| Blesk | blesk.cz | Video Article | Blesk TV category navigation |
| Blesk | blesk.cz | Search | search field, results, result click |
| Blesk | blesk.cz | Navigation Categories | crime section, news section |
| E15 | e15.cz | Homepage & Article | homepage, menu, article, footer |
| E15 | e15.cz | Video Article | video category, video player |
| E15 | e15.cz | Search | search field, results, article click |
| E15 | e15.cz | Premium Category | premium section loads, paywall present |
| E15 | e15.cz | Gallery | gallery article, photo navigation |
| iSport | isport.cz | Homepage & Article | homepage, menu, article, footer |
| iSport | isport.cz | Football Section | /fotbal loads, article click |
| iSport | isport.cz | Hockey Section | /hokej loads, article click |
| iSport | isport.cz | Premium Section | premium section, paywall present |
| iSport | isport.cz | Video Content | video section, player present |
| Opinio | pdt: revenue calculator computes correctly | revenue calculator UI | |
| Opinio | pdt: category filtering returns results | /publikace category filter | |
| Opinio | pdt: subdomain navigation works consistently | {author}.opinio.cz subdomain | |
| Opinio | pdt: authentication pages load correctly | login and registration pages | |
| Opinio | pdt: search functionality returns results | search returns articles | |
| Reflex | reflex.cz | Homepage & Article | homepage, menu, article, footer |
| Reflex | reflex.cz | Photo Gallery Article | gallery opens, photo navigation works |
| Reflex | reflex.cz | Video Article | video section, video player |
| Reflex | reflex.cz | Search | search field, results, article click |
| Reflex | reflex.cz | Premium Category | premium section, paywall present |
| Reflex | reflex.cz | Commentary Section | /komentare loads, articles present |
Ad Checks
PDT tests include non-blocking ad presence checks at key points. A missing ad does not fail the test — it is logged and surfaced in the run report. This catches ad delivery regressions without making the deploy gate brittle.
| Check Type | Where It Appears |
|---|---|
| Big Page AD (branding slot) | homepage + article |
| Native AD | homepage |
| Creative Banner | article |
| Top Sponsor | article |
| Under Article | article |
| Billboard Bottom | article |
| Rectangle AD (Auto only) | article |
How To Run
| Command | What It Does |
|---|---|
npm run test:pdt | All 30 tests, all sites |
npm run test:pdt -- --grep "blesk" | Blesk only (4 tests) |
npm run test:pdt -- --grep "auto" | Auto only (5 tests) |
npm run test:headed | Headed browser |
npm run test:trace | With Playwright trace |
npm run test:debug | With debug mode |
Optimization History
PDT was originally slow and brittle. It has been significantly improved.
| Metric | Before | After |
|---|---|---|
| duration | 12.9 min | 5.3 min |
| pass rate | 86.7% | 100% |
Key changes that produced these results:
| Change | Effect |
|---|---|
| removed per-step screenshots in non-critical phases | largest single time saving |
| reduced ad check timeouts from 5s to 2s (soft checks) | eliminated most waiting time |
removed handleConsentQuick overhead | simplified consent path |
| increased test timeouts to 180s | eliminated false timeout failures |
| added direct URL fallback when menu click fails | removed flakiness on navigation tests |
PDT vs E2E
| PDT | E2E | |
|---|---|---|
| purpose | did this deploy break anything? | do user journeys work end-to-end? |
| when to run | after every deploy | nightly |
| depth | multi-phase feature checks | full user flows (gallery, video, podcast, share) |
| duration | ~5m 20s | ~5m 42s |
| test count | 30 (5/site) | 76 (12-15/site) |
| ad checks | yes | no |
| soft failures | yes (ads, non-critical steps) | yes (content fallbacks) |
Failure Handling
| Failure Type | Where To Check |
|---|---|
| homepage load fails | check if site is actually down; check HTTP status |
| menu does not open | check hamburger selector in site-selectors.ts |
| video player not found | check if video page URL changed |
| search returns nothing | check if search field selector changed |
| premium section fails | check if paywall selector changed |
| car search fails (Auto) | check brand/model dropdown selectors |
Related Pages
| Need | Go To |
|---|---|
| rapid health check | Smoke Tests |
| full user journeys | E2E Tests |
| high-level suite list | Test Types |