FULL TESTING PLAN — MokoSuiteNPO complete stack validation #30

Open
opened 2026-06-29 14:05:28 +00:00 by jmiller · 1 comment
Owner

Full Integration Testing Plan — MokoSuiteNPO

Master testing issue for the entire NPO (Nonprofit) stack. All sections must pass before release.

1. Installation

  • Plugin installs cleanly on fresh Joomla 5
  • All tables created with correct engine/charset
  • Seed data loads (donation types, fund categories, volunteer statuses)
  • Demo data installs correctly when selected
  • Plugin appears enabled in plugin manager
  • Uninstall removes all tables cleanly

2. Schema Validation

  • Donors table with type, recognition level, lifetime giving
  • Donations table with fund FK, campaign FK, payment method
  • Campaigns table with goal, start/end dates, status
  • Grants table with grantor, amount, reporting requirements
  • Volunteers table with skills, availability, hours tracking
  • Events table with capacity, registration, tickets
  • Memberships table with level, start/end, auto-renew
  • Pledges table with schedule, paid/remaining tracking
  • All FK constraints and indexes verified

3. Admin Views

  • NPO Dashboard loads with key metrics
  • Donors list with search/filter loads
  • Donations list with fund/campaign filters loads
  • Campaigns list with progress bars loads
  • Grants list with status/deadline filters loads
  • Volunteers list with skills/availability loads
  • Events list loads
  • Memberships list with expiry alerts loads

4. Site Views

  • Donate page loads with amount selection and fund picker
  • Campaign page loads with thermometer
  • Donor wall loads
  • Event calendar loads with month navigation
  • Grant portal loads
  • Member portal loads
  • Volunteer signup loads
  • Thank you page loads after donation

5. API Endpoints

  • Donors CRUD (NpoDonorController)
  • Donations CRUD (NpoDonationsController)
  • Campaigns CRUD (NpoCampaignsController)
  • Grants CRUD (NpoGrantsController)
  • Volunteers CRUD (NpoVolunteersController)
  • Events CRUD (NpoEventsController)
  • Reports endpoint (NpoReportsController)

6. Helper Logic

  • DonorHelper — recognition levels, lifetime giving calculation
  • DonorRetentionHelper — LYBUNT/SYBUNT detection, retention rates
  • CampaignHelper — progress calculation, goal tracking
  • GrantHelper — deadline alerts, reporting schedule
  • VolunteerHelper — hours logging, skills matching
  • EventHelper — registration, capacity management
  • MembershipHelper — expiry alerts, renewal
  • TaxReceiptHelper — auto-receipt generation
  • FundAccountingHelper — restricted/unrestricted fund tracking
  • Form990Helper — revenue/expense classification
  • BoardManagementHelper — member terms, attendance
  • InKindDonationHelper — non-cash gifts, IRS appraisal
  • PledgeReminderHelper — pledge schedule reminders
  • RecurringDonationHelper — recurring donation processing
  • ImpactReportHelper — program impact metrics
  • GrantReportingHelper — grant report generation

7. Cross-Module Integration

  • Donors link to CRM contacts
  • Donations create ERP journal entries (restricted/unrestricted)
  • Grant awards create ERP revenue entries
  • Membership dues create CRM invoices
  • Event registrations create CRM orders

8. Security

  • All API endpoints require authentication
  • Donor financial data restricted by ACL
  • Donation page CSRF protection
  • SQL injection prevention on report parameters
  • Receipt generation restricted to authorized users

9. Package Build

  • pkg_mokosuitenpo.zip builds without errors
  • Installs cleanly alongside other Suite modules
  • No PHP warnings/notices during install
## Full Integration Testing Plan — MokoSuiteNPO Master testing issue for the entire NPO (Nonprofit) stack. All sections must pass before release. ### 1. Installation - [ ] Plugin installs cleanly on fresh Joomla 5 - [ ] All tables created with correct engine/charset - [ ] Seed data loads (donation types, fund categories, volunteer statuses) - [ ] Demo data installs correctly when selected - [ ] Plugin appears enabled in plugin manager - [ ] Uninstall removes all tables cleanly ### 2. Schema Validation - [ ] Donors table with type, recognition level, lifetime giving - [ ] Donations table with fund FK, campaign FK, payment method - [ ] Campaigns table with goal, start/end dates, status - [ ] Grants table with grantor, amount, reporting requirements - [ ] Volunteers table with skills, availability, hours tracking - [ ] Events table with capacity, registration, tickets - [ ] Memberships table with level, start/end, auto-renew - [ ] Pledges table with schedule, paid/remaining tracking - [ ] All FK constraints and indexes verified ### 3. Admin Views - [ ] NPO Dashboard loads with key metrics - [ ] Donors list with search/filter loads - [ ] Donations list with fund/campaign filters loads - [ ] Campaigns list with progress bars loads - [ ] Grants list with status/deadline filters loads - [ ] Volunteers list with skills/availability loads - [ ] Events list loads - [ ] Memberships list with expiry alerts loads ### 4. Site Views - [ ] Donate page loads with amount selection and fund picker - [ ] Campaign page loads with thermometer - [ ] Donor wall loads - [ ] Event calendar loads with month navigation - [ ] Grant portal loads - [ ] Member portal loads - [ ] Volunteer signup loads - [ ] Thank you page loads after donation ### 5. API Endpoints - [ ] Donors CRUD (NpoDonorController) - [ ] Donations CRUD (NpoDonationsController) - [ ] Campaigns CRUD (NpoCampaignsController) - [ ] Grants CRUD (NpoGrantsController) - [ ] Volunteers CRUD (NpoVolunteersController) - [ ] Events CRUD (NpoEventsController) - [ ] Reports endpoint (NpoReportsController) ### 6. Helper Logic - [ ] DonorHelper — recognition levels, lifetime giving calculation - [ ] DonorRetentionHelper — LYBUNT/SYBUNT detection, retention rates - [ ] CampaignHelper — progress calculation, goal tracking - [ ] GrantHelper — deadline alerts, reporting schedule - [ ] VolunteerHelper — hours logging, skills matching - [ ] EventHelper — registration, capacity management - [ ] MembershipHelper — expiry alerts, renewal - [ ] TaxReceiptHelper — auto-receipt generation - [ ] FundAccountingHelper — restricted/unrestricted fund tracking - [ ] Form990Helper — revenue/expense classification - [ ] BoardManagementHelper — member terms, attendance - [ ] InKindDonationHelper — non-cash gifts, IRS appraisal - [ ] PledgeReminderHelper — pledge schedule reminders - [ ] RecurringDonationHelper — recurring donation processing - [ ] ImpactReportHelper — program impact metrics - [ ] GrantReportingHelper — grant report generation ### 7. Cross-Module Integration - [ ] Donors link to CRM contacts - [ ] Donations create ERP journal entries (restricted/unrestricted) - [ ] Grant awards create ERP revenue entries - [ ] Membership dues create CRM invoices - [ ] Event registrations create CRM orders ### 8. Security - [ ] All API endpoints require authentication - [ ] Donor financial data restricted by ACL - [ ] Donation page CSRF protection - [ ] SQL injection prevention on report parameters - [ ] Receipt generation restricted to authorized users ### 9. Package Build - [ ] `pkg_mokosuitenpo.zip` builds without errors - [ ] Installs cleanly alongside other Suite modules - [ ] No PHP warnings/notices during install
Author
Owner

Branch created: feature/30-full-testing-plan-mokosuitenpo-complete-

git fetch origin
git checkout feature/30-full-testing-plan-mokosuitenpo-complete-
Branch created: [`feature/30-full-testing-plan-mokosuitenpo-complete-`](https://git.mokoconsulting.tech/MokoConsulting/MokoSuiteNPO/src/branch/feature/30-full-testing-plan-mokosuitenpo-complete-) ```bash git fetch origin git checkout feature/30-full-testing-plan-mokosuitenpo-complete- ```
Sign in to join this conversation.
No labels
Priority Medium
Type Feature
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoSuiteNPO#30