feat: enhance QA driver with detailed persona definitions for improved testing accuracy

This commit is contained in:
hamed
2026-07-19 13:41:16 +03:30
parent 773f9d4d16
commit b10b0813f3
2 changed files with 238 additions and 14 deletions
+16 -3
View File
@@ -25,9 +25,13 @@ const CHROME = process.env.CHROME_BIN
const PORT = Number(process.env.CDP_PORT ?? 9444);
/**
* Local QA accounts, one per role. Passwords were set deliberately for testing
* (see SKILL.md § Test accounts); the doctor account predates that and still
* uses mobile-as-password. TEST_USERS.md is stale — its accounts do not exist.
* Local QA personas — one per distinct authorization identity in the product,
* not merely one per ROLE_* constant: an independent doctor and a clinic-member
* doctor carry the same role but see different data, so each gets its own row.
*
* The first five predate this list and are known to exist; the rest are
* provisioned by SKILL.md § Phase 0 and report `✗` from `driver.mjs roles`
* until they are. TEST_USERS.md is stale — its accounts do not exist.
*/
const ROLES = {
admin: ['09120671756', 'QaTest@1234'],
@@ -35,6 +39,15 @@ const ROLES = {
secretary: ['09123456778', 'QaTest@1234'],
doctor: ['09390039833', '09390039833'],
representation: ['09124000001', '09124000001'],
// Provisioned by Phase 0. Reserved QA range 0912900000x, password QaTest@1234.
doctor_solo: ['09129000001', 'QaTest@1234'], // own office, no clinic
doctor_member: ['09129000002', 'QaTest@1234'], // member of a clinic
clinic_doctor: ['09129000003', 'QaTest@1234'], // ROLE_CLINIC + ROLE_DOCTOR
secretary_clinic: ['09129000004', 'QaTest@1234'], // secretary of a clinic
unclaimed_doctor: ['09129000005', 'QaTest@1234'], // imported, unclaimed profile
patient: ['09129000006', 'QaTest@1234'], // ROLE_USER only
importer: ['09129000007', 'QaTest@1234'],
};
// ddev serves a locally-signed cert Node's fetch refuses. Relax TLS only for it.