You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
E2E tests for the REST→AJAX→bypass fallback chain, ad-blocker simulation (block REST+AJAX → bypass must still track), and complete-block graceful failure.
Motivation
#174 (high): REST + sendBeacon broken — TrackingRestController overwrites raw_post_array for text/plain requests. Ad-blocker bypass is a key differentiating feature.
Summary
E2E tests for the REST→AJAX→bypass fallback chain, ad-blocker simulation (block REST+AJAX → bypass must still track), and complete-block graceful failure.
Motivation
#174 (high): REST + sendBeacon broken —
TrackingRestControlleroverwritesraw_post_arrayfortext/plainrequests. Ad-blocker bypass is a key differentiating feature.Dependencies
@wordpress/env)Implementation
Files to create
tests/e2e/helpers/transport.ts(skill spec §2.5)tests/e2e/specs/transport/transport-fallback.spec.tstransport.tsroute blocking```typescript
blockTransport('rest'): page.route('/wp-json/slimstat/', r => r.abort())
blockTransport('ajax'): page.route('/admin-ajax.phpaction=slimstat', r => r.abort())
blockTransport('bypass'): page.route('/wp-content/plugins/wp-slimstat/**', r => r.abort())
```
Test scenarios
/wp-json/slimstat/)admin-ajax.php) — @link Outbound link tracking broken with REST + sendBeacon #174Standards
blockTransport()usespage.route()— never JS-side override (skill spec §2.5)getCorrelatedRows()— not just request captureAcceptance criteria
transport.tsfully implemented per skill spec §2.5References