Production-ready test infrastructure with Page Object Model pattern, reusable fixtures for auth/DB/test-data, and example tests covering login flow, dashboard, accounts CRUD API, and visual regression. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
49 lines
1.3 KiB
TypeScript
49 lines
1.3 KiB
TypeScript
/**
|
|
* Shared test data constants for E2E and API tests.
|
|
*
|
|
* Credentials match what the DB seed fixture creates.
|
|
* Money values are in cents (matching the backend convention).
|
|
*/
|
|
|
|
export const TEST_USERS = {
|
|
treasurer: {
|
|
email: process.env.TEST_USER_EMAIL || 'e2e-treasurer@test.hoaledgeriq.com',
|
|
password: process.env.TEST_USER_PASSWORD || 'TestPass123!',
|
|
role: 'treasurer',
|
|
fullName: 'E2E Test Treasurer',
|
|
},
|
|
viewer: {
|
|
email: 'e2e-viewer@test.hoaledgeriq.com',
|
|
password: 'TestPass123!',
|
|
role: 'viewer',
|
|
fullName: 'E2E Test Viewer',
|
|
},
|
|
} as const;
|
|
|
|
export const TEST_ORG = {
|
|
name: 'E2E Test HOA',
|
|
schemaName: 'e2e_test_hoa',
|
|
} as const;
|
|
|
|
/** Sample account used for CRUD tests */
|
|
export const SAMPLE_ACCOUNT = {
|
|
name: 'E2E Operating Checking',
|
|
accountType: 'asset',
|
|
fundType: 'operating',
|
|
number: '1010',
|
|
description: 'E2E test operating account',
|
|
} as const;
|
|
|
|
/** Sample journal entry for write-path tests */
|
|
export const SAMPLE_JOURNAL_ENTRY = {
|
|
date: new Date().toISOString().split('T')[0],
|
|
memo: 'E2E test journal entry',
|
|
lines: [
|
|
{ accountId: '', debit: 100_00, credit: 0 },
|
|
{ accountId: '', credit: 100_00, debit: 0 },
|
|
],
|
|
} as const;
|
|
|
|
/** Unique prefix for test-created data — makes cleanup queries simple */
|
|
export const TEST_PREFIX = 'E2E_' as const;
|