Seed data reference¶
This page documents the test identities, accounts, and GL configuration loaded by the seed data loader (MOD-158) into dev and UAT environments. It is the canonical reference for integration test authors writing tests that depend on pre-existing data.
See Test environment setup for operational runbook steps (loading, resetting, verifying).
Seed version¶
Current seed version: 1.0.0
The version is tracked in SSM at /{repo}/{stage}/seed-version. Version bumps trigger automatic reload on next deploy. See MOD-158 for the versioning policy.
Dev seed profile¶
Customers¶
| ID | Name | Jurisdiction | eIDV doc ref | eIDV outcome | Sanctions |
|---|---|---|---|---|---|
| CUST-D001 | Jane Aroha Tane | NZ | PASS-NZ-D001 | Verified | Clear |
| CUST-D002 | Wiremu Hemi Ngata | NZ | PASS-NZ-D002 | Verified | Clear |
| CUST-D003 | Mei Lin Chen | NZ | PASS-NZ-D003 | Verified | Clear |
| CUST-D004 | Aroha Piripi Walker | NZ | PASS-NZ-D004 | Verified | Clear |
| CUST-D005 | Tama Rautahi Brown | NZ | PASS-NZ-D005 | Verified | Clear |
| CUST-D006 | Sophie Marie Dubois | AU | PASS-AU-D006 | Verified | Clear |
| CUST-D007 | James William Hart | AU | PASS-AU-D007 | Verified | Clear |
| CUST-D008 | Priya Anand Sharma | AU | PASS-AU-D008 | Verified | Clear |
| CUST-D009 | Test Fail Identity | NZ | FAIL-NZ-D009 | Rejected | Clear |
| CUST-D010 | Sanctioned Test Person | NZ | PASS-NZ-D010 | Verified | HIT |
Accounts¶
| Account ID | Customer | Type | Currency | Balance | State |
|---|---|---|---|---|---|
| ACC-D001-EV | CUST-D001 | Everyday | NZD | 12,500.00 | Active |
| ACC-D001-SV | CUST-D001 | Savings | NZD | 32,000.00 | Active |
| ACC-D002-EV | CUST-D002 | Everyday | NZD | 8,200.00 | Active |
| ACC-D002-SV | CUST-D002 | Savings | NZD | 15,400.00 | Active |
| ACC-D003-EV | CUST-D003 | Everyday | NZD | 4,750.00 | Active |
| ACC-D004-EV | CUST-D004 | Everyday | NZD | 2,100.00 | Active |
| ACC-D005-EV | CUST-D005 | Everyday | NZD | 19,800.00 | Active |
| ACC-D006-EV | CUST-D006 | Everyday | AUD | 11,300.00 | Active |
| ACC-D006-SV | CUST-D006 | Savings | AUD | 45,000.00 | Active |
| ACC-D007-EV | CUST-D007 | Everyday | AUD | 6,900.00 | Active |
| ACC-D008-EV | CUST-D008 | Everyday | AUD | 3,200.00 | Active |
| ACC-D009-EV | CUST-D009 | Everyday | NZD | — | Pending (KYC failed) |
| ACC-D010-EV | CUST-D010 | Everyday | NZD | — | Restricted (sanctions) |
GL configuration¶
Standard chart of accounts loaded for both NZD and AUD ledgers:
| GL code | Account name | Type |
|---|---|---|
| 1000 | Customer deposits — NZD | Liability |
| 1001 | Customer deposits — AUD | Liability |
| 1100 | Interest payable — NZD | Liability |
| 1101 | Interest payable — AUD | Liability |
| 2000 | Cash and equivalents — NZD | Asset |
| 2001 | Cash and equivalents — AUD | Asset |
| 3000 | Interest income — NZD | Income |
| 3001 | Interest income — AUD | Income |
| 4000 | Fee income | Income |
| 5000 | Interest expense — NZD | Expense |
| 5001 | Interest expense — AUD | Expense |
Service credentials¶
| Purpose | Location |
|---|---|
| Integration test runner JWT (NZ scope) | /bank-platform/dev/test-runner/jwt-nz |
| Integration test runner JWT (AU scope) | /bank-platform/dev/test-runner/jwt-au |
| Integration test runner JWT (admin scope) | /bank-platform/dev/test-runner/jwt-admin |
UAT seed profile¶
The UAT profile extends the dev profile with 90 additional customers and richer account/history data. Customer IDs CUST-U001 through CUST-U090 are generated deterministically from seed 20260427.
Key UAT-specific records for edge case testing:
| Entity | ID | State | Purpose |
|---|---|---|---|
| Customer | CUST-U091 | KYC pending review | CDD tier upgrade scenario |
| Account | ACC-U091-EV | Pending | Tests that require pending account |
| Customer | CUST-U092 | Verified | Has dormant account |
| Account | ACC-U092-SV | Dormant | Dormancy engine scenarios |
| Customer | CUST-U093 | Restricted | Sanctions hit pending adjudication |
| Account | ACC-U093-EV | Restricted | Payment block scenarios |
| Account | ACC-U001-TD | Active | 3-month term deposit, matures in 14 days |
| Account | ACC-U002-ND | Active | 90-day notice, notice served |
Writing integration tests against seed data¶
Integration tests should reference seed customers and accounts by their deterministic IDs, not by querying the database for "any active customer". This prevents test flakiness when new accounts are added to the seed.
Good:
Avoid:
const customers = await listCustomers({ status: 'Verified' });
const customer = customers[0]; // fragile — order may change
When a test needs a customer in a specific state, use the designated seed customer for that state (e.g. CUST-D009 for failed eIDV, CUST-D010 for sanctions hit).
Tests must not permanently modify seed customer records. If a test changes a customer's state, it must restore the original state in its afterEach or afterAll cleanup. Tests that cannot safely restore state should create their own test fixtures and clean them up explicitly.