1Business context
AdPulse lets marketers create and run ad campaigns. The business risk is launching misconfigured or non-compliant ads, so a 5-step wizard validates objective, audience, budget and creative before launch, followed by an automated review.
A 5-step campaign wizard — objective, audience with location autocomplete, budget & bidding, creative with character counters and a live preview — then launch and pause/resume.
2Users & roles
- 👤 Marketer — creates, reviews, launches and pauses campaigns (no login)
3Modules & screens
| Screen | Route | What it does |
|---|---|---|
| Campaigns | /apps/ads | Campaign list with metrics and on/off switches |
| Campaign wizard | /apps/ads/new | Objective → Audience → Budget → Creative → Review, with live ad preview |
4Main end-to-end journey
Create and launch a campaign
- Click Create campaign
- Choose Traffic and name it Diwali Sale
- Set ages 25-45, add Mumbai and the Shopping interest
- Set a $50 daily budget
- Add headline, description, https URL and Shop now CTA
- Review, accept the policy and launch
Expected: Campaign appears in the table as In review, then flips to Active ~3 s later
5Business rules & validations
- Step validationBeginner
wizard-next on an empty step shows step-errors and error-* for that step only.
- Autocomplete chipsIntermediate
Type in location-input, pick location-option-*, then remove a chip with remove-location-*.
- Dependent fieldsIntermediate
bid-strategy “Cost cap” reveals cost-cap-amount; unticking run-continuously reveals run-duration.
- Character countersIntermediate
headline-count tracks 0/40 and input stops at 40 characters (maxlength).
- Live previewIntermediate
preview-headline and preview-cta mirror the creative fields as you type.
- Edit from reviewAdvanced
edit-step-2 jumps back to Audience; values are preserved when returning to Review.
- Async statusAdvanced
A launched campaign shows “In review”, then flips to “Active” ~3s later.
- Toggle switchesBeginner
Flip toggle-<id> (role=switch) and assert aria-checked and the status badge.
6Test data & credentials
- URL
- /apps/ads
- Login
- not required
- Min budget
- $5/day · $100 lifetime
- Review time
- ~3 seconds
7Glossary
- Objective
- Awareness, traffic, conversions or app installs
- Cost cap
- Bid strategy that reveals a required cost-cap amount
- In review → Active
- Launched campaigns are auto-approved after ~3 s
8Watch-outs for automation
- ⚠️Each wizard step validates only its own fields
- ⚠️Headline stops at 40 characters (maxlength) and the counter tracks it
- ⚠️Edit from Review jumps back a step — values must be preserved
9Suggested test strategy
1 · Smoke
2
P1 positive and end-to-end cases — run on every build.
2 · Regression
16
All cases, incl. 5 negative and 3 edge — run before release.
3 · End-to-end
3
Full user journeys — run nightly.
Start with these smoke cases
- ADPULSE-01 — Launch a campaign
- ADPULSE-E2E-01 — Create and launch a campaign