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
- Full browser Dusk suite (weekly)
- Lighthouse CI (manual monthly)
- Load tests (unnecessary at current traffic)
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.