Pest smoke tests for Inertia routes: the 12 assertions I run before release

Short answer: Before every production deploy I run a focused Pest subset—SEO routes, crawlable fallbacks, blog search filters, and one published post show test—about 12 assertions, under 30 seconds on CI.

Expands What Pest tests before CMS deploy with Inertia-specific checks.

The smoke list

vendor/bin/sail artisan test --compact \
  tests/Feature/Seo/ \
  tests/Feature/Cms/BlogSearchTest.php \
  tests/Feature/Blog/BlogTest.php

What each group catches

File Failure means
SeoRoutesTest Legacy .html redirects broke
CrawlablePagesTest Bots see empty blog/contact
BlogSearchTest ?q= filter diverged from crawlable HTML
BlogTest Published scope / 404 on real posts

What I skip on every push

GitLab integration

.gitlab-ci.yml runs Pest after ci-env.sh sets PHP 8.4 path—see GitLab + aaPanel deploy.

FAQ

Pest 4 browser plugin?

Available—use for checkout flows; blog CMS does not need it yet.

Snapshot testing Inertia props?

Too brittle; assert HTML markers and status codes instead.

Rector + tests order?

Graphify → Rector → Pest.

Maintenance note (Sep 2026)

Re-validated internal links and examples against the live aviwebsquad.in CMS after the Hostinger migration; guidance in this article still matches production.