Smoke Tests — Basic Sanity Checks
Property: ChurchWiseAI Category: UI / Visual
Tier:
anonymous
Persona: anonymous
Touchpoint: all marketing pages
Preconditions
- App is deployed (localhost or staging)
- Marketing pages are accessible
Steps
| # | Action | Expected Result |
|---|---|---|
| 1 | Load homepage (/) | Page loads with 200 status. Hero heading visible and matches expected text (church/ministry/visitor/prayer). |
| 2 | Load pricing page (/pricing) | Pricing page loads. All three tiers visible (Starter, Pro, Suite). Channel toggles (Chat, Voice, Both) accessible. |
| 3 | Load /onboard without ?plan parameter | Redirects to /pricing. No error page shown. |
| 4 | Load /onboard?plan=starter_chat | Onboard form loads with plan context visible. |
| 5 | Load /ai-for index (/ai-for) | Denomination landing page index loads. Links to denomination pages visible. |
| 6 | Load /ai-for/baptist | Baptist denomination page loads. Heading contains 'Baptist'. Baptist-specific language visible. |
| 7 | Load /chatbot | Chatbot demo page loads. Widget renders with welcome message and suggestion buttons. |
| 8 | Load /contact | Contact form page loads. Form fields visible (name, email, church, message, phone). |
| 9 | Load /refund-policy | Policy page loads. Contains refund/cancellation terms. |
| 10 | Load nonexistent page (/this-does-not-exist-xyz) | 404 page returned. 'Not found' text visible. No 500 error. |
Known Failure Modes
- Pages returning 500 — code/env error
- Marketing pages blank or slow — CDN or data fetch issue
- Redirects broken — routing misconfigured
- 404 page missing — custom error handling missing
References
- Playwright spec:
e2e/smoke.spec.ts - Code files:
Notes
Quick sanity check for all major marketing and onboarding pages. Tests basic page load, heading visibility, and error handling. Should run in <30s. Failures indicate missing env vars, broken routes, or database connection issues. Run after every deploy and before running detailed integration tests.