1Business context
GiveHope is an NGO donation platform. It supports one-time and monthly giving, optional fee cover, dedications, and Indian tax-receipt rules (PAN for gifts of ₹2,000+, 80G receipts).
Campaigns with progress bars, amount chips or a custom amount, one-time vs monthly, an optional fee top-up, PAN required at ₹2,000+ for an 80G certificate, anonymous and in-honour gifts, and pause/cancel for monthly giving.
2Users & roles
- 👤 Donor — gives once or monthly, manages recurring gifts and downloads receipts
3Modules & screens
| Screen | Route | What it does |
|---|---|---|
| Campaigns | /apps/donate | Causes with progress bars |
| Donate | /apps/donate/c/[id] | Amount chips or custom, frequency, fee cover, in-honour, PAN, payment |
| Receipt | /apps/donate/receipt/[id] | Amount and 80G download when eligible |
| My giving | /apps/donate/manage | Pause, resume or cancel recurring gifts; year total |
4Main end-to-end journey
Monthly donation with PAN, then pause
- Choose an education campaign
- Monthly ₹2,500 with fee cover
- Fill details and PAN ABCDE1234F, in honour of Grandma Fatima
- Pay by UPI
- Open Manage giving and pause
Expected: Total ₹2,562.50/month, 80G download available, year total ₹30,750.00, status Paused
5Business rules & validations
- Progress barsBeginner
progress-<id> is role=progressbar; read aria-valuenow and compare with raised-<id> / goal.
- Chips vs customBeginner
Typing custom-amount clears the selected amount-* chip (aria-pressed=false) and vice versa.
- Threshold fieldIntermediate
donor-pan and pan-required only appear once the total reaches ₹2,000; the PAN format is validated.
- Fee mathsIntermediate
cover-fee adds 2.5%: ₹2,500 → fee-amount ₹62.50, donation-total ₹2,562.50.
- Minimum amountBeginner
A custom amount under ₹100 shows error-amount.
- Conditional fieldBeginner
in-honour (switch) reveals honoree-name, which is then required.
- Recurring managementIntermediate
pause-recurring → recurring-status Paused → resume/cancel via cancel-recurring-modal; year-total updates.
- 80G availabilityIntermediate
Receipts with a PAN show download-80g; smaller gifts show no-80g.
6Test data & credentials
- URL
- /apps/donate
- Minimum
- ₹100
- PAN needed
- ₹2,000 and above
- Fee cover
- 2.5%
7Glossary
- PAN
- Indian tax ID — required for ₹2,000+, format ABCDE1234F
- 80G
- Tax-deduction receipt, available when a PAN is given
- Fee cover
- Donor adds 2.5% so the charity receives the full amount
8Watch-outs for automation
- ⚠️Minimum donation ₹100
- ⚠️Custom amount and amount chips are mutually exclusive
- ⚠️PAN fields appear only at the ₹2,000 threshold
9Suggested test strategy
1 · Smoke
3
P1 positive and end-to-end cases — run on every build.
2 · Regression
15
All cases, incl. 4 negative and 2 edge — run before release.
3 · End-to-end
3
Full user journeys — run nightly.
Start with these smoke cases
- GIVEHOPE-01 — One-time donation
- GIVEHOPE-02 — Donation with PAN
- GIVEHOPE-E2E-01 — Monthly donation with PAN, then pause