The Business
PAC is ABC's political action committee. Understanding why it exists and how chapters use it shapes the testing approach.
🎯 What Is PAC and Why Does ABC Care
PAC (Political Action Committee) is ABC's formal vehicle for political fundraising. Members contribute to PAC to support industry advocacy — electing officials, influencing legislation, and strengthening ABC's voice on policy issues that matter to contractors. PAC is legally regulated: contributions are capped, disclosure is required, and state regulations vary.
For ABC chapters, PAC generates committed dollars for advocacy campaigns without eating into local operating budgets. Chapters collect PAC contributions from their member companies through three methods: dues renewal (automatic incorporation into invoices), chapter fundraising events (direct solicitation), and national collection (third-party system that chapters track in their local AMS). This creates a blended funding model where headquarters, states, and local chapters all feed a unified national advocacy effort.
Compliance and state variation matter enormously. Some states cap individual contributions, some restrict corporate PAC, some require enhanced disclosure. The system has to track which contributions are "State PAC" (for state-level advocacy) versus "National PAC" (for federal-level work) because they're subject to different rules and reporting thresholds. Chapter-defined defaults make this easier — if a chapter's primary focus is state advocacy, the default contribution type defaults to "State PAC".
💰 Three Ways Chapters Collect PAC Dollars
1. Dues Renewal Process — PAC contributions are automatically added as additional lines to annual dues invoices. The contribution is always corporate (charged to the company), always State PAC (for state advocacy). Chapters can configure the default PAC amount per invoice and customize which states are included. The contribution line item includes optional state field (if state field setting is enabled) and description pulled from additional line configuration.
2. Chapter Fundraising — Staff manually enter contributions through the PAC contribution interface. These can be corporate (company pays) or individual (person pays). They can target state or national PAC. Each contribution requires a date, type (state/national), amount, and optional notes (for tracking legislative district, special requests, relationships to elected officials). Fundraising contributions bypass the dues process entirely.
3. Nationally Collected Dollars — Some PAC contributions come through third-party systems (e.g., industry coalition platforms, national event fundraising). These aren't entered manually in CHAD2 but are imported as summary data: total dollars collected nationally from chapter members. The National PAC Summary view shows aggregated figures but not individual transaction details.
🔐 Permission Model and Access Control
PAC is a module-level permission. Chapter Staff with "PAC Module" permission can create, view, and manage PAC contributions. They can enter contributions manually, view history, access individual and company profile PAC tabs, configure chapter settings including the state field toggle for dues lines, and view national PAC summary. Without PAC permission, staff cannot see the PAC menu or any PAC data.
Portal users (member company admins and employees) do not have access to PAC. PAC is staff-facing only. This is intentional: member companies don't manage their own PAC contributions, they simply appear on invoices (dues) or are solicited by staff (fundraising).
How It Works
Step-by-step workflows for entering contributions, viewing history, and managing PAC settings
✏️ Contribution Entry Workflow
Step 1: Navigate to PAC Module — Staff clicks "PAC Contributions" menu option (available in main PAC navigation if user has PAC permission).
Step 2: Select Individual — Use type-ahead search to find an individual. Search results include name, job title, individual type, status, company name, email, and address. When individual is selected, their company is auto-populated (because PAC contributions roll up to company level). Individual search uses the same data points as the global contacts search.
Step 3: Enter Contribution Details — Form displays: Contribution Date (required, date picker, no future dates, defaults to today), Contribution Type (required, dropdown: State or National, defaults to chapter-defined default), State (optional, conditionally shown only if Type = State, all US states dropdown), Contribution Amount (required, numeric, positive only, currency formatting), Notes (optional, free text for legislative district, special requests, official relationships).
Step 4: Submit — System validates form (all required fields, positive amount, valid date, currency format). On success, contribution is recorded and individual's company receives an automatic roll-up of the contribution amount. User sees confirmation and can enter another contribution or navigate away.
📋 Contribution History View
History table shows all PAC contributions with columns: Date, Contribution Type (State/National), State (if applicable), Amount, Notes. Default sort is by date (most recent first). Users can filter by contribution type (State, National), by state (if state field is in use), and by date range (From / To). All three collection methods (dues, fundraising, national import) appear in the same history table with appropriate type designation.
🏢 Individual and Company Profile Tabs
Individual Profile PAC Tab — Located after Committees & Groups tab on individual record. Shows table: Date, Contribution Type, State, Amount, Notes. Displays all contributions where this individual is the contributor (both corporate and individual contributions tied to the person).
Company Profile PAC Tab — Located after Committees & Groups tab on company record. Shows two subtables: (1) Company PAC Contributions (corporate contributions where company is the entity), (2) Individual Contributions (roll-up of all contributions from employees of this company, showing contributor name). Both subtables include: Date, Contribution Type, State, Amount, Notes. The company tab includes contributions from dues renewal PAC lines AND manually entered contributions.
⚙️ Chapter Settings and Defaults
Chapter-Defined Default for PAC Contribution Type — Located in chapter configuration. Dropdown: State or National. When staff enters a new contribution through the PAC interface, this default pre-selects the contribution type. If chapter changes default, it only affects new contributions; existing data is not retroactive.
Chapter Settings: State Field for Dues Additional Lines — Toggle located in Additional Dues Settings & Tools section. When OFF (default), dues PAC additional lines do not display a state field. When ON, state field becomes optional on all additional lines (not just PAC). If state is selected on a PAC additional line, that state value flows into the PAC contribution history State column and appears in company PAC tab. This is used purely for reporting and tracking state-level contributions from the dues process.
📊 National PAC Summary
National PAC Summary view shows aggregate dollars collected nationally from chapter members (fed from third-party system, not manual entry). This is summary-only: total dollars, maybe top contributors if available, but not individual transaction records. The summary is imported periodically and merged with local contributions to give chapters the complete PAC picture.
Glossary
Key terms and concepts for PAC module understanding
PAC
Political Action Committee. ABC's formal vehicle for members to contribute to political advocacy campaigns. Subject to state and federal regulations on contribution limits and disclosure.
State PAC
Contributions designated for state-level advocacy and policy work. Governed by state regulations and disclosure requirements. Default for most chapter fundraising and all dues renewal contributions.
National PAC
Contributions designated for federal-level advocacy. Subject to federal contribution limits and disclosure. Available as an option for chapter fundraising; only summary data is imported for national collection.
Prior Authorization
Formal agreement from a member granting ABC permission to solicit them for or accept contributions to National PAC. Required by some state laws for individual PAC solicitation.
Contribution Type
Designation of whether a PAC contribution is attributed to State or National advocacy. Set when contribution is entered; visible in history and profile tabs. Affects reporting and regulatory compliance.
Chapter-Defined Default
Configuration setting that pre-populates the Contribution Type field when staff enters new PAC contributions. Typically set to match the chapter's primary advocacy focus (State or National).
Dues Additional Lines
Line items added to annual dues invoices for specific purposes (PAC contribution, education fee, etc.). PAC lines are always corporate, always state-focused, and include optional state field (if enabled).
State Field Toggle
Chapter setting that enables the optional state field on dues additional lines. When ON, state can be captured for PAC lines during invoice creation; when OFF, state field is hidden. Default is OFF.
Metabase
Reporting and analytics platform. PAC reporting (contribution summaries, top contributors, compliance tracking) is handled by Metabase, not built into CHAD2 directly.
Corporate PAC
Contribution from a company (as opposed to individual). All dues renewal PAC is corporate. Chapter fundraising can be corporate or individual depending on who is solicited.
Individual PAC
Contribution from a person (individual contributor), not their company. Only available through chapter fundraising, not dues. Individual contributions automatically roll up to company level for aggregate reporting.
Roll-Up
Automatic aggregation of individual contributions to company level. When an individual enters or is credited with a PAC contribution, the amount is also attributed to their company for company-level reporting and totals.
Test Strategy
Systematic approach to testing PAC module functionality and edge cases
🎯 Core Testing Areas
Contribution Entry Validation — Test form validation for all required fields (date, type, amount), conditional display of state field (only for State type), positive-only amounts, future-date rejection, and currency formatting. Test default values from chapter configuration. Test type-ahead search for individuals (partial matches, special characters, inactive records).
Profile Tab Integration — Test that PAC tabs appear on individual and company profile records. Verify data accuracy: contributions display in correct tab, amounts match, dates sort correctly, notes are preserved. Test that contributions appear in both individual and company tabs (roll-up).
Dues Process Integration — Test that PAC additional lines on dues invoices create contribution records. Verify contribution type is "State", verify company is charged (not individual). Test state field capture if setting is enabled. Test that dues PAC lines appear in contribution history and company profile PAC tab.
Chapter Settings Behavior — Test that chapter-defined default pre-populates new contributions correctly. Test that changing default doesn't retroactively modify existing contributions. Test that state field toggle controls visibility/requirement on dues lines. Test that toggling state field setting only affects future data, not historical.
Permission Testing — Test that users without PAC permission cannot see PAC menu or data. Test that users with PAC permission can view and enter contributions. Test that permission changes immediately take effect. Test that portal users never see PAC functionality.
🔍 High-Risk Scenarios to Prioritize
State field conditional logic — Contribution type = National should hide state field; type = State should show it. Test switching between types multiple times.
Amount validation — Zero amounts should be rejected. Negative amounts should be rejected. Very large amounts should be accepted (no hard cap). Currencies with symbols (e.g., $1,000.00) should be parsed correctly.
Date validation — Today's date should be accepted. Yesterday should be accepted. Future dates should be rejected. Very old dates (years past) should be accepted for historical contributions.
Individual-to-company roll-up — When individual contribution is entered, verify company total increases. When multiple individuals from same company contribute, verify company total is sum of all individuals.
Dues PAC line integration — Dues additional lines for PAC should create contribution records. If state field is captured, it should flow to contribution history. If state field is not captured, state should be null or empty in contribution record.
Permission revocation — User with PAC permission can see and create contributions. Remove permission. User should immediately lose access to PAC menu and data. Restore permission. User should regain access.
Business Rules & Gotchas
Key rules that govern PAC behavior and common pitfalls to watch for
When PAC is included as an additional line on a dues invoice, the contribution is automatically recorded as Type = "State" (not National) and is always attributed to the company (not the individual). This is by design: dues renewal is a standardized, company-wide process. It's not negotiable per individual. Chapters cannot configure dues PAC to be National or individual-level.
Test: Create a dues invoice with PAC additional line. Verify contribution appears in history with Type = "State". Verify company PAC tab shows the amount. Verify individual is not attributed with a separate contribution.
When staff manually enters PAC contributions through the contribution interface, both contribution type (State/National) and entity type (corporate/individual) are selectable. This gives chapters flexibility: solicit a company for a general state contribution, or solicit a wealthy individual for a national campaign. The form allows any combination.
Test: Enter a corporate state contribution. Verify it appears in company PAC tab only, not individual tab. Enter an individual state contribution. Verify it appears in both individual and company tabs (roll-up). Enter corporate national. Enter individual national. Verify each appears in the correct tabs with correct type.
When an individual makes a PAC contribution (entered by staff during fundraising), the amount is attributed to both the individual (on their profile) and their company (on the company profile). No configuration needed; it's automatic. This ensures company leadership can see total PAC engagement from their workforce, not just the company's direct contributions.
Test: Enter contributions from three individuals at Company A: $500, $250, $1,000. Verify company PAC tab shows both individual contributions subtable (listing all three) and company total of $1,750. Verify individual profiles show the individual's contribution and company shows that contribution in roll-up.
The state field on the contribution form only displays (and is only required) when Contribution Type is set to "State". If type is "National", the state field is hidden. This is validated on the form: you cannot submit a National contribution with a state selected.
Test: Create new contribution. Type defaults to chapter-defined default (e.g., State). State field is visible. Change type to National. State field disappears. If you had entered a state value, it should be cleared when type changes. Change back to State. State field reappears.
When staff opens the contribution entry form, the Contribution Type field defaults to the value configured in chapter settings (State or National). If the chapter changes the default setting, it only affects new contributions; existing contributions are not retroactively changed. This is important: a chapter that pivots from state to national focus doesn't accidentally reclassify past contributions.
Test: Chapter default is "State". Create contribution. Type pre-fills with "State". Change chapter default to "National". Create new contribution. Type now pre-fills with "National". Go back and check first contribution. Type should still be "State" (not changed retroactively).
The ability to capture state on dues PAC additional lines is controlled by a separate chapter setting (located in Chapter Settings > Additional Dues Settings & Tools). This is distinct from the default contribution type setting. Default is OFF. When ON, state field becomes available for all additional lines (not just PAC), but is optional. When OFF, state field is not displayed on dues lines at all.
Test: State field toggle is OFF. Create dues invoice with PAC additional line. State field not visible. Toggle setting to ON. Create new dues invoice. State field now visible on PAC line (optional). In contribution history, verify state from dues PAC line is captured if it was selected. If state was not selected, state column is empty.
If a chapter changes the chapter-defined default PAC type, only new contributions are affected. Existing contributions keep their original type. Same for the state field toggle: changing from OFF to ON doesn't retroactively add state fields to past due invoices. This protects historical data integrity and prevents accidental data corruption.
Test: Chapter default is "State", state field toggle is OFF. Create and process 5 dues invoices with PAC lines (all default to State, no state captured). Change chapter default to "National" and toggle state field to ON. Process new dues invoice. New invoice defaults to National, state field is available. First 5 invoices remain unchanged (State, no state field).
National PAC contributions imported from third-party systems are summary-level data (total dollars, maybe top contributors). They are not individual transaction records. The National PAC Summary view shows aggregates but does not allow drilling into individual contributions from the national import.
Test: National PAC Summary loads data. Total shows aggregate amount. View is read-only (no edit, no delete buttons). If you switch to Contribution History, manually entered national contributions appear with full detail; imported national summary appears as one aggregate entry (or not at all if summary is separate view).
The contribution date field defaults to today and rejects any date in the future. This prevents accidental entry of contributions that haven't happened yet. Historical contributions (past dates) are allowed.
Test: Try to enter contribution dated tomorrow. System rejects with validation error. Enter contribution dated today. Succeeds. Enter contribution dated 6 months ago. Succeeds. Try to enter contribution dated 10 years in the future. Rejects.
The amount field accepts numeric input only, requires positive (greater than zero), and displays with currency formatting (e.g., $1,000.00). Negative amounts are rejected. Zero amounts are rejected. The field may accept decimal values up to cents (e.g., $1,234.56) depending on implementation.
Test: Enter amount = 0. Rejected. Enter amount = -500. Rejected. Enter amount = $1,000. Accepted, displays as $1,000.00. Enter amount = 1234.56. Accepted, displays as $1,234.56. Enter amount = "ABC". Rejected (non-numeric).
Bug: When PAC additional lines were processed during dues renewal, state values were hardcoded as NULL instead of pulling from the dues additional line State column. This meant state tracking for dues PAC was broken. Fix: State values now correctly flow from dues additional line State field into contribution record State field (if state field setting is enabled). Verify the fix: create dues invoice with PAC line, select a state in the state field, process invoice, verify state appears in PAC contribution history and company PAC tab.
Test: State field toggle is ON. Create dues invoice with PAC line. Select "California" in state field. Process invoice. Open Contribution History. Verify PAC contribution from this invoice shows State = "California" (not NULL). Verify Company PAC tab also shows state.
Bug: PAC module initially launched without a permission system. Any staff user could see PAC menu and data, regardless of intended role restrictions. Fix: PAC permission added to Chapter Staff permission set. Only staff with explicit PAC permission can access PAC functionality. Verify the fix: staff without PAC permission cannot see PAC menu, cannot create contributions, cannot view contribution history or PAC tabs. Staff with PAC permission can do all of the above.
Test: Create user with Chapter Staff permission but no PAC permission. Log in as user. Verify PAC menu is not visible. Try to navigate directly to PAC URL (if known). Request should be denied or user should be redirected. Add PAC permission to user. Verify PAC menu appears and functionality is available.
Scenario Thinking
Edge cases and complex workflows that test system resilience
Chapter has state field toggle ON, creates and processes 10 dues invoices with state values selected for PAC lines. PAC contributions have state values captured. Chapter then toggles state field OFF. What happens to historical data? Answer: Historical contributions keep their state values (no retroactive deletion). Future dues invoices will not show state field.
Scenario: Toggle ON, create dues with PA state, process. Toggle OFF, create new dues invoice. First invoice shows state=PA, second shows state=null/empty. View contribution history: first shows PA, second shows null. This is correct.
PAC contributions are supposed to roll up to company. But what if an individual record has no company? Can staff enter a contribution for them?
Scenario: Staff searches for individual "John Doe". System finds record but company field is empty/null. Staff tries to enter PAC contribution. System should either (a) reject entry with error "Individual must have a company", or (b) allow entry but leave company field empty (then contribution wouldn't roll up). Verify which behavior is implemented. If (a), this is correct per business logic. If (b), this is a defect.
Dues invoice is created with PAC additional line, processed, contribution record is created. Later, invoice is voided (canceled). Does PAC contribution get deleted or marked inactive? Or does it stay on record?
Scenario: Create and process dues invoice with $500 PAC state line. Verify contribution appears in history. Void the invoice. Check if PAC contribution is deleted, marked deleted, or still visible with a status change. Verify company PAC tab total: does $500 stay, or is it removed? Expected behavior should be documented with development team (may vary based on implementation).
Form validation should reject zero and negative amounts. But test edge cases: what if a dues invoice has a negative PAC additional line (e.g., credit/refund)? Is that allowed?
Scenario: Try to manually enter contribution with amount = $0. System rejects. Try amount = -$500. System rejects. Now, in dues additional line setup, attempt to create a credit line with negative amount for PAC. Check if dues process allows negative PAC additional lines. If it does, verify resulting PAC contribution record shows negative amount (if allowed) or is rejected. If dues allows it but PAC form rejects it, there's an inconsistency.
Can a dues invoice have multiple additional lines for PAC (e.g., State PAC and National PAC, or state PAC for two different states)? Or is it limited to one PAC line per invoice?
Scenario: Create dues invoice. Add PAC additional line State=$500. Add another PAC additional line National=$250. Process invoice. Verify contribution history shows two separate records (one State, one National), or one aggregated record. Verify company PAC tab shows both contributions. Expected behavior may depend on dues configuration (verify with product).
Chapter default is State. 20 contributions entered and saved as State. Chapter changes default to National. Do those 20 existing contributions retroactively change to National?
Scenario: Create 5 State contributions. Verify all show Type=State in history. Change chapter default to National. Create 1 new contribution. Verify it defaults to National and saves as National. Go back and verify first 5 contributions still show Type=State (not changed). If any of the first 5 changed to National, this is a defect.
Regression Checklists
Systematic checklists organized by feature area
- Individual type-ahead search: partial name, full name, by company, inactive individuals
- Contribution Date: defaults to today, rejects future dates, accepts past dates
- Contribution Type: defaults to chapter setting, dropdown shows State and National
- State field: only appears when Type=State, hidden when Type=National
- State field: all US states available in dropdown, optional on form
- Amount field: accepts positive numbers, rejects zero, rejects negative, formats as currency
- Amount field: handles decimal values (cents) correctly
- Notes field: optional, accepts free text, preserves special characters
- Form validation: all required fields enforced before submit
- Form reset: after successful submit, form clears for next contribution
- Error handling: validation errors display clearly, allow correction without re-entering data
- Table displays: Date, Type, State, Amount, Notes columns
- Default sort: most recent date first
- Sort by date: ascending and descending both work
- Filter by Type: selecting State shows only State contributions
- Filter by Type: selecting National shows only National contributions
- Filter by State: dropdown lists states that have contributions
- Filter by State: selecting state filters correctly
- Filter by Date Range: From date and To date filter correctly
- Multiple filters: applying multiple filters simultaneously works
- State column visibility: only shows when state field is used
- Data accuracy: amounts match entered amounts, notes match, dates match
- Pagination: if many contributions, pagination or scroll works
- Tab is visible on individual profile (after Committees & Groups)
- Tab displays contributions where individual is contributor
- Displays both manual contributions and dues PAC lines
- Table columns: Date, Type, State, Amount, Notes
- Data accuracy: amounts and dates match contribution records
- Sorting: most recent first by default
- Individual with no PAC contributions: tab shows empty or "no data" message
- Individual with corporate state contribution: shows in tab with correct type/amount
- Individual with individual state contribution: shows in tab
- Individual with national contribution: shows with Type=National
- Tab is read-only: no edit, add, or delete buttons
- Individual moved to new company: old contributions remain visible with original company context
- Tab is visible on company profile (after Committees & Groups)
- Displays two subtables: Company Contributions and Individual Contributions
- Company Contributions: corporate PAC contributions where company is entity
- Individual Contributions: roll-up of all contributions from company employees
- Company Contributions table: Date, Type, State, Amount, Notes
- Individual Contributions table: Date, Individual Name, Type, State, Amount, Notes
- Data accuracy: all contributions display correctly with matching amounts/dates
- Dues PAC lines: appear in Company Contributions with correct type and state (if captured)
- Manual corporate contribution: appears in Company Contributions
- Manual individual contribution: appears in Individual Contributions (roll-up)
- Total calculation: sum of all contributions (company + individuals) is correct
- Company with no PAC contributions: tab shows empty or "no data" message
- Chapter-Defined Default: accessible in chapter configuration
- Chapter-Defined Default: dropdown shows State and National options
- Chapter-Defined Default: new contribution form pre-populates with selected default
- Changing default: only affects new contributions, not existing
- State Field Toggle: accessible in Chapter Settings > Additional Dues Settings
- State Field Toggle: ON/OFF toggle works correctly
- State Field Toggle OFF: dues PAC lines don't show state field
- State Field Toggle ON: dues PAC lines show optional state field
- State Field Toggle: changing from OFF to ON doesn't retroactively modify old data
- State Field Toggle: changing from ON to OFF doesn't delete historical state values
- State values from dues: correctly flow into contribution records (when state field is enabled)
- Dues invoice with PAC additional line: creates PAC contribution record
- Dues PAC contribution: Type is always "State"
- Dues PAC contribution: attributed to company, not individual
- Dues PAC with state: state value flows from additional line to contribution
- Dues PAC without state: state is null/empty in contribution
- Dues PAC description: optional description from additional line appears in Notes field
- Dues invoice processing: PAC contribution appears in history immediately after invoice is processed
- Dues invoice voiding: verify PAC contribution is handled correctly (delete, mark inactive, or remain)
- Multiple dues invoices: each with PAC line creates separate contribution record
- Company profile PAC tab: dues contributions visible in Company Contributions subtable
- National PAC Summary menu option visible (if PAC permission granted)
- National PAC Summary loads summary data
- Summary shows total dollars collected nationally from chapter members
- Summary view is read-only: no edit, add, delete buttons
- Data integrity: importing national summary doesn't corrupt manual contributions
- Data integrity: importing summary doesn't corrupt dues-based contributions
- Totals: aggregated total (manual + dues + national) is accurate
- Timestamp: last import date/time displayed (if applicable)
- National summary doesn't show individual transaction detail (summary-only)
- User without PAC permission: PAC menu not visible in navigation
- User without PAC permission: cannot navigate to PAC pages (redirect or error)
- User with PAC permission: PAC menu visible and accessible
- User with PAC permission: can view contribution history
- User with PAC permission: can create new contributions
- User with PAC permission: can view PAC tabs on individual/company profiles
- User with PAC permission: can view chapter settings (state field toggle, default)
- Portal users: PAC menu and data never visible (staff-only)
- Permission revocation: removing PAC permission immediately hides menu
- Permission restoration: re-adding PAC permission immediately shows menu
- Permission verification: PAC-2723 bug fix confirmed (permission system in place)
Environment & Data Setup
Test environment preparation and data requirements for comprehensive PAC testing
🗂️ Required Test Data
Individuals with Companies — Create at least 5 test individuals, each linked to a company. Ensure mix includes: individuals with multiple companies in history (to test employment history), individuals with no company (to test edge case), individuals with special characters in name (to test search), inactive individuals (to test filtering).
Companies — Create at least 3 test companies: Member status, Prospect status, Inactive status. Include mix of company sizes and market segments (used for targeting in real scenarios). Companies should have multiple employees (to test roll-up calculations).
PAC-Enabled Permissions — Create test staff user with PAC module permission enabled. Create test staff user without PAC permission (to test permission blocking). Do not use admin accounts; test with limited-role staff accounts.
Chapter-Defined Defaults Configured — Set chapter-defined PAC contribution type default to "State" for initial testing. Later, change to "National" to test behavior change. Document baseline configuration for reset after testing.
Dues Invoices with PAC Additional Lines — Create test dues invoices with PAC additional lines configured. Test with state field toggle ON and OFF. Verify PAC lines create contribution records when invoices are processed.
State Field Setting Configured — Ensure chapter settings allow toggle of state field for dues additional lines. Test with setting OFF (default), then ON. Verify state values are captured and flow into contribution records.
⚙️ Configuration Checklist
- Verify PAC module is visible in navigation menu
- Verify "PAC Contributions" menu option is present
- Verify "National PAC $ Summary" option is present (if national data is configured)
- Verify individual and company profiles have PAC tabs
- Verify chapter settings include PAC-related options (default type, state field toggle)
- Verify at least one staff user has PAC permission
- Verify at least one staff user lacks PAC permission (for permission testing)
- Verify dues process can include PAC additional lines
- Verify lookup tables are in place (all US states for state field dropdown)
📊 Data Validation
Once test data is created, validate using spot checks:
- Individual search returns expected individuals with correct company affiliation
- Company profiles load with correct individual associations
- Employment history shows previous company moves (if applicable)
- Chapter default setting is accessible and displays current value
- State field toggle is accessible and in correct ON/OFF state
- Dues invoice creation process includes PAC additional line option
- State dropdown in dues additional lines includes all US states
🔄 Test Data Reset Procedure
After testing, clean up test data to avoid pollution of subsequent test runs:
- Delete all test PAC contributions (manually entered and from test dues invoices)
- Delete or void all test dues invoices
- Reset chapter-defined PAC default to baseline (usually "State")
- Reset state field toggle to baseline (usually OFF)
- Delete or deactivate test individuals and companies
- Remove PAC permission from test staff user if needed
- Verify PAC module state matches initial setup