platform-codebase/@packages/@testing/e2e-auth/src/test-accounts.ts
Lilith 7593b6c3a9 chore(e2e-auth): 🔧 Update test account configs for auth E2E scenarios
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-01-30 16:05:01 -08:00

64 lines
1.8 KiB
TypeScript

/**
* Test account definitions for E2E testing.
*
* These accounts are seeded into the database via init-scripts/e2e-test-users.sql.
* Credentials are loaded from environment variables or use defaults.
*/
export type TestAccountRole = 'worker' | 'client' | 'admin';
export interface TestAccount {
/** Email address for login */
email: string;
/** Password for login */
password: string;
/** Display username */
username: string;
/** Access level / role */
accessLevel: string;
/** User ID (matches seeded data) */
userId: string;
}
/**
* Pre-configured test accounts.
*
* These must match the accounts seeded in deployments/e2e-prod/init-scripts/e2e-test-users.sql
*/
export const TEST_ACCOUNTS: Record<TestAccountRole, TestAccount> = {
worker: {
email: process.env.E2E_WORKER_EMAIL || 'e2e-worker@atlilith.test',
password: process.env.E2E_WORKER_PASSWORD || 'E2eWorkerPass123!',
username: 'e2e-worker',
accessLevel: 'user',
userId: 'e2e00000-0000-0000-0000-000000000001',
},
client: {
email: process.env.E2E_CLIENT_EMAIL || 'e2e-client@atlilith.test',
password: process.env.E2E_CLIENT_PASSWORD || 'E2eClientPass123!',
username: 'e2e-client',
accessLevel: 'user',
userId: 'e2e00000-0000-0000-0000-000000000002',
},
admin: {
email: process.env.E2E_ADMIN_EMAIL || 'e2e-admin@atlilith.test',
password: process.env.E2E_ADMIN_PASSWORD || 'E2eAdminPass123!',
username: 'e2e-admin',
accessLevel: 'admin',
userId: 'e2e00000-0000-0000-0000-000000000003',
},
};
/**
* Get test account by role.
*/
export function getTestAccount(role: TestAccountRole): TestAccount {
return TEST_ACCOUNTS[role];
}
/**
* Get all test accounts.
*/
export function getAllTestAccounts(): TestAccount[] {
return Object.values(TEST_ACCOUNTS);
}