Skip to content

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:

const customer = await getCustomer('CUST-D001');
expect(customer.kycStatus).toBe('Verified');

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.